寻求包含‘svol’文本的jQuery选择器解决方案及代码修改协助
解决方案
要匹配所有ID包含svol文本的元素,可以使用jQuery的属性包含选择器 [id*="svol"]。结合你的表格场景,修改代码如下:
场景1:计算所有ID含svol的元素数值总和
如果不需要按表格行循环,直接遍历所有符合条件的元素即可:
function myFunction() { var svoltotal = 0; // 匹配所有ID包含'svol'的元素下的span $('[id*="svol"] span').each(function() { var text = $(this).text().replaceAll(',', ''); // 处理非数字情况,避免NaN干扰总和 var num = parseFloat(text) || 0; svoltotal += num; }); console.log(svoltotal); }
场景2:按表格行遍历,计算每行内的svol元素数值总和
如果需要在表格的每行中查找对应的svol元素(确保每行只计算一个),可以限定在当前行的上下文内查找:
function myFunction() { var svoltotal = 0; $('#kwrdsTable > tbody > tr').each(function() { // 在当前表格行内查找ID包含'svol'的元素下的span var text = $(this).find('[id*="svol"] span').text().replaceAll(',', ''); var num = parseFloat(text) || 0; svoltotal += num; }); console.log(svoltotal); }
关键说明
[id*="svol"]:jQuery属性选择器,精准匹配所有ID属性值中包含svol字符串的元素- 添加
|| 0:防止文本为空、非数字时,parseFloat返回NaN导致总和计算异常 - 上下文查找:使用
$(this).find()替代全局查找,确保只在当前表格行内定位元素,避免重复计算
内容的提问来源于stack exchange,提问作者Trada Lalit
相关产品推荐
相关产品推荐

