Jquery 选择并替换范围内的文本 滤器 比较
如何用其他内容替换“比较”文本? 我有一些代码块,我不能编辑它,我只能通过jq访问。 span id“spanCompare_5_7”是通用的,因此站点上有更多的span id,所有span id都需要相同的更改,因此我不能将此id用作静态选择器,例如$(“#spanCompare_5_7”)。 我永远不知道会出现哪些数字,正如我所说的,我需要对所有数字进行更改Jquery 选择并替换范围内的文本 滤器 比较,jquery,Jquery,如何用其他内容替换“比较”文本? 我有一些代码块,我不能编辑它,我只能通过jq访问。 span id“spanCompare_5_7”是通用的,因此站点上有更多的span id,所有span id都需要相同的更改,因此我不能将此id用作静态选择器,例如$(“#spanCompare_5_7”)。 我永远不知道会出现哪些数字,正如我所说的,我需要对所有数字进行更改 有什么想法吗?也许是这样的 <span id="spanCompare_5_7"> <input type="rad
有什么想法吗?也许是这样的
<span id="spanCompare_5_7">
<input type="radio" name="fCompare_5_7" id="fCompare0" value="0">Filter
<input type="radio" name="fCompare_5_7" id="fCompare1" value="1">Compare
</span>
您可以迭代元素的
childNodes
,并重置匹配textNode
子体的nodeValue
:
var html = $('#spanCompare_5_7').html();
html = html.replace("Compare", "");
$('#spanCompare_5_7').html(html);
如果要破坏性地(通过更改属性和可见内容)重置元素的innerHTML
,可以使用html
方法:
$('span[id^="spanCompare"]').contents().each(function() {
if ( this.nodeType === 3 && $.trim(this.nodeValue) === 'Compare' )
this.nodeValue = 'whatever';
});
尝试:
这也将更改输入的名称和ID。。也不适用于更改外部跨度的ID。非常感谢,这是我需要的!
$('span[id^="spanCompare"]').html(function(_, h) {
return h.replace(/Compare/g, 'whatever');
});
var spn = $('#spanCompare_5_7');
spn.html(spn.html().replace(/Compare\b/, 'replacement'));