次のようなことを行う別の方法は何ですか
$(".myElement").each(function(){
//function
});
プレーンなJavascriptで?
次のようなことを行う別の方法は何ですか
$(".myElement").each(function(){
//function
});
プレーンなJavascriptで?
divこれにより、現在のドキュメント内のすべての が繰り返されます。etc. を置き換えて、それらのand でdocument.getElementsByClassName('someclass')何かを行うことができますattributesvalues
var elements = document.getElementsByTagName('div');
for (var i = 0; i < elements.length; i++) {
doSomething(elements[i]);
}
これがjsfiddleです:http://jsfiddle.net/allenski/p7w5btLa/
$(#myElement)
idセレクターを反復しようとしています。IDは HTML ページ内で一意である必要があります。
class or element反復したいタグの場合は、forループを使用できます。
var $elems = $('.someClass');
for(var i=0; i< $elems.length; i++ ) {
// $elems[i] --> Gives you a `DOM` element
// $elems.eq(i) --> Gives you a `jQuery` object
}
バニラ Javascript
var elems = document.getElementsByClassName('someClass');
for(var i=0;i< elems.length;i ++) {
elem[i] // Based on index
}
getElementsByTagName特定のタグを反復処理する場合。
getElementsByName- name 属性に基づいて要素を取得します。
を使用document.querySelectorAllしてオブジェクトのリストを取得し、それらを反復処理することもできます。
var elems = document.querySelectorAll('.someClass')
for(var i=0; i<elems.length; i++) {
elems[i] // Give you DOM object
}
var el = $(something);
for (var i = 0; i < el.length; i++) {
// do something with el[i] or more often with $(el[i])
}
elは疑似配列 (または配列のようなオブジェクト) であり、範囲内の演算子でlengthアクセス可能な and 要素を持ちます。などを実行できますが、要素は jquery の「オブジェクト」ではなく、通常は DOM 要素であるため、実行できないことに注意してください。メソッドのように、あなたはしなければなりません[]0...length-1el[0]el[1]elel[0].text("Hello")each$(el[0]).text("Hello");
するのも間違っています:
for (var i = 0; i < $(something).length; i++) {
// do something with el[i] or more often with $(el[i])
}
このようにして、$(something)はサイクルごとに再計算されるためです。
for ループを使用する必要があります。http://www.w3schools.com/js/js_loop_for.aspを見て ください。