.each()无法拾取某些文本/ html时出现了奇怪的问题。

我有:

<ul class="errors">
   <li class="title">Please check the details you entered and try again.</li>
   <li id="title">Please supply a title</li>
   <li id="typeID">Please select a type</li>
   <li id="availID">Please select the availablilty</li>
   <li id="city">Please supply a valid city</li>
   <li id="postcode">Please supply a valid postcode</li>
   <li id="contactNum">Please supply a valid contact number</li>
   <li id="description">Please enter a description</li>
</ul>


而对于jQuery:

$('.errors').children('^[id]').each(function(index){
    alert(index + ': ' + $(this).text());
});


现在的问题是,jquery不会为“描述”列表项选择text / html。不管我尝试什么。

关于为什么会发生这种情况的任何想法?

谢谢,
TMP

更新:
我设法找到了问题。页面上还有另一个具有相同ID的元素这一事实使它停止工作。确实很奇怪,因为所有其他列表项都相同,但效果很好。也许是个错误?

干杯,
TMP

最佳答案

alert(index + ': ' + $(this.text());


应该

alert( index + ': ' + $(this).text() );


您在this之后缺少右括号。

编辑

修正了错字后,我得到了预期的结果:http://jsfiddle.net/xQyAt/

关于javascript - 奇怪的jQuery $ .each()行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11418068/

10-12 00:21
查看更多