Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 选择并替换范围内的文本 滤器 比较_Jquery - Fatal编程技术网

Jquery 选择并替换范围内的文本 滤器 比较

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

如何用其他内容替换“比较”文本? 我有一些代码块,我不能编辑它,我只能通过jq访问。 span id“spanCompare_5_7”是通用的,因此站点上有更多的span id,所有span id都需要相同的更改,因此我不能将此id用作静态选择器,例如$(“#spanCompare_5_7”)。 我永远不知道会出现哪些数字,正如我所说的,我需要对所有数字进行更改


有什么想法吗?

也许是这样的

<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'));