为什么Jquery只影响第一个div元素?

我正在使用“替换”功能删除div中的所有非数字值。

看来Jquery replace只影响第一个元素。

这是我的Jquery:

$('#comment').each(function() {

var thz = $(this);

var repl = thz.html(thz.html().replace(/\D+/g, ''));

});

HTML代码:

<a id="comment1" href="#"> c2fđf011. </a>

<a id="comment1" href="#"> c20ff113. </a>

<a id="comment1" href="#"> c201gf76341. </a>

结果:

2011 c20ff113。c201gf76341。

我想要的结果是:

2011 20113 20176341

回答:

您有重复的ID,这是无效的,并且还有jQueryID选择器(或jQuery内部使用的任何其他ID选择器,例如document.getElementById,因为ID元素在大多数浏览器中都是索引的,并且本来是唯一的)将仅返回第一个出现在DOM中。将其更改为类,并查看其工作情况:

$('.comment').each(function() { 

var thz = $(this); var repl =

thz.html(thz.html().replace(/\D+/g, ''));

});

的HTML

<a class="comment1" href="#"> c2fđf011. </a> 

<a class="comment1" href="#">c20ff113. </a>

<a class="comment1" href="#"> c201gf76341. </a>

顺便说一下,你的身份证是这样的:

<a id="comment1" href="#"> c2fđf011. </a> 

<a id="comment2" href="#">c20ff113. </a>

<a id="comment3" href="#"> c201gf76341. </a>

以“属性选择器”开头将为您提供帮助(但实际上会使您减速,因为这是一个属性选择器,并且失去了使用ID的优势)。

$('[id^=comment]').each(function() { // While using this better give a container context $('[id^=comment]', 'container').each(function...

var thz = $(this);

var repl = thz.html(thz.html().replace(/\D+/g, ''));

});

以上是 为什么Jquery只影响第一个div元素? 的全部内容, 来源链接: utcz.com/qa/402041.html

回到顶部