2016-07-28 5 views
2

elementDivのCSSプロパティをjQueryを使用して変更したいと考えています。 [i]を使用すると、jQueryオブジェクトではなくDOM要素が取得されることを理解しています。これはjQuery CSSメソッドを受け入れるように変更できますか?[i]を使用した場合のjQueryメソッドへのアクセス

elementDiv.each(function(i) { 
    if (i >= pagenumber * elementsPerPage && i <= pagenumber * elementsPerPage) { 
     $(this).css('display', 'block'); 
    } else { 
     $(this).css('display', 'none'); 
    } 
}); 

jQueryのドキュメントは有用な例の多くを示しています。ただ、eachを使用Object #<HTMLDivElement> has no method 'css'

for (var i = 0; i < elementDiv.length; i++) { 
    if (i >= pagenumber * elementsPerPage && i <= pagenumber * elementsPerPage) { 
     elementDiv[i].css('display', 'block'); 
    } else { 
     elementDiv[i].css('display', 'none'); 
    } 
} 

答えて

0

-

次のコードは、次のエラーを返します。

+1

'.each()'と 'for'ループは問題ではありません。いずれかを使用すると違いはありません。あなたのコードで異なるのは、 '$()'の中にHTML要素の参照(あなたのコードの 'this')をラップすることです。 OPのコードはそれをしませんでした。 OPのコードで '$(elementDiv [i])'を使うことも同様にうまくいくでしょう。私は '.each()'や 'for'ループが他のものより優れているかどうかを示唆するものではなく、実際の問題を認識し、それを混ぜ合わせてはいけません何かと一緒に。 –

関連する問題