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