根据换行符选择文本

Select text based on line breaks

本文关键字:文本 选择 换行符      更新时间:2023-09-26

如何获取权重:&带框的重量:分成2个变量,这样我就可以在其他地方使用

主要的问题是,我不能简单地计算br的数量,然后计算出由于它们不一致,有些会有4个,有些会在权重改变之前有6/7个作为信息。。。唯一一致的是权重和包含类

<div class="box">
 Quantity:  1 <br>
 Quantity pack:  10 <br>
 Box (width x length x height):  65x65x120 <br>
 Quantity 2:  2083 <br>
 Pallet :  800x1200x1100 <br>
 Weight:  95 <br>
 Weight with box:  115 <br>
</div>

谢谢各位

HTML的结构不适合提取数据。如果可能的话,我建议你把它修改成更合适的。如果不是,则可以检索所有文本节点,然后获得最后两个值——假设HTML的格式不变。类似这样的东西:

var nodes = $('.box').contents().filter(function() {
    return this.nodeType == 3 && $.trim(this.textContent) != '';
});
var weight = nodes[nodes.length -1];
var weightBox = nodes[nodes.length -2];

小提琴示例

如果属性的顺序不一致,则需要循环遍历nodes数组,并检查前面的weight:weight with box:文本。

快速而肮脏的解决方案是用可以识别它们的东西包裹它们,注意带有ID的跨度,可以用来定位节点。

<div class="box">
 Quantity:  1 <br>
 Quantity pack:  10 <br>
 Box (width x length x height):  65x65x120 <br>
 Quantity 2:  2083 <br>
 Pallet :  800x1200x1100 <br>
 Weight:  <span id="weight">95</span> <br>
 Weight with box:  <span id="weight-box">115</span> <br>
</div>
<script>
var weight = document.getElementById("weight").innerHTML;
</script>

看看这个JS小提琴。http://jsfiddle.net/8jduxn1s/