我需要找到与部分匹配字符串的标签相关联的值。源块看起来像这样:
<dt>
Loose Ones
</dt>
<dd>
8.00
</dd>
<dt>
Loose Fives
</dt>
<dd>
15.00
</dd>
<dt>
Envelope Ones
</dt>
<dd>
0.00
</dd>
<dt>
Envelope Fives
</dt>
25.00
<dd>
我想找到所有包含&#39; Loose&#39;并捕获相关值,然后将其总计为一个值。 Jquery必须有办法做到这一点。
答案 0 :(得分:1)
您可以遍历dt
元素,找到匹配的元素,然后找到最接近的dd
元素,并将其内部值解析为数字。
var sum = 0;
$.each($('dt'), function(){
if($(this).text().indexOf("Loose") != -1)
{
var dd = $(this).next('dd');
var n = parseFloat(dd.text());
sum = sum + n;
}
});
console.log(sum);
答案 1 :(得分:0)
您可以使用jquery的contains()
选择器来过滤dt
代码,其中包含值&#39; Loose&#39;然后使用.next()
转到dd
元素。
var sum =0;
$('dt:contains("Loose")').each(function()
{
if(!isNaN(parseFloat($(this).next('dd').text())))
sum += parseFloat($(this).next('dd').text());
});
alert(sum);