-1
var length=$('div p').length;

for(var i=0; i<length; i++) {

if(i==5) {

  do something

}
}

div をループして最初の (0 インデックス) 要素から開始しようとしています。ループが 5 番目のインデックスに達したら、何かを実行したいと思います。私の質問は、コードは正しいですか、そうでない場合、私のエラーはどこにありますか

4

3 に答える 3

1

jQuery を使用すると、より簡単に実行できます。

$('div p').each(function(i) {
    if (i==5) { do something }
});

関数でthisは、現在の要素です。このコードを使用して、(コンソールで)それが何であるかを確認できます:

$('div p').each(function(i) {
    console.log(this); // prints the paragraph in the console
    if (i==5) { do something }
});

6 番目の要素 (インデックスは 0 から始まる) だけで何かをしたい場合は、ループする必要はありません: 単純に実行します

var element = $('div p:eq(5)');
于 2013-01-08T08:08:41.233 に答える
0

5 番目の要素では、i==4 .. 最初の要素では i==0 であるためです。それはあなたの間違いです

于 2013-01-08T08:11:35.910 に答える
0

これはあなたが望むものですか: http://jsfiddle.net/67d8k/

$('button').click(function () {
  $('div p:lt(5)').clone().appendTo('div');
});
于 2013-01-08T08:35:10.083 に答える