0

我遇到了 .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 没有为“描述”列表项选择文本/html。不管我怎么尝试。

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

谢谢, TMP

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

干杯,TMP

4

1 回答 1

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

应该

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

您在 . 之后缺少右括号this

编辑

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

于 2012-07-10T16:49:34.763 回答