JavaScript找出数字开始的位置并添加标记


JavaScript to figure out Where a number starts and add a tag

我正在使用3D购物车,他们不给我任何访问PHP只有JavaScript HTML和CSS。我想在分类页面上得到我的产品的尺寸。但他们需要在一条新的线上,这样客户才能清楚地看到它。如果我在标题中添加一个<br />,它会把很多东西弄乱。

如果这是产品的名称,我想找到第一个数字"16",并使用JavaScript在它前面添加一个<br />

DELUXE TOTE JR. 16" X 12" X 6"

得到

的结果
DELUXE TOTE JR. <br />
16" X 12" X 6"

这是可能的还是失败的原因?

你可以使用Javascript的replace方法来完成你想要的,但就像其他人提到的,如果字符串的不同部分被包装在其他元素中,比如span或div,或者如果你没有一个明确的选择器围绕整个字符串开始,这将是棘手的。如果您可以发布实际的HTML输出,我们可能会更接近。

var title = document.getElementById('title')
var titleText = title.innerHTML;
var res = titleText.replace(/([0-9]{1,2}")/, "<br/>$&");
title.innerHTML = res;
<span id='title'>DELUXE TOTE JR. 16" X 12" X 6"</span>

为了让我在类别页面上获得产品的尺寸,我不得不使用类而不是id,因为html不允许多个相同的id。

JavaScipt

var title = document.getElementsByClassName("title");
for (var i = 0; i < 100; i++) {
    var titleText = title[i].innerHTML;
    var res = titleText.replace(/'d+('.'d{1,2})?/, "<br/>$&");
    title[i].innerHTML = res;
}
HTML

<span class="title">[name]</span>

这让我在第一个数字是第一个维度之前添加一个<br/>