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 が「説明」リスト項目の text/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 に答える