0

次のようなことを行う別の方法は何ですか

$(".myElement").each(function(){ 
    //function
});

プレーンなJavascriptで?

4

5 に答える 5

6

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/

于 2013-08-11T09:03:41.787 に答える
3
$(#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
  }
于 2013-08-11T08:58:24.680 に答える
0
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)はサイクルごとに再計算されるためです。

于 2013-08-11T08:58:17.243 に答える
-1

for ループを使用する必要があります。http://www.w3schools.com/js/js_loop_for.aspを見て ください。

于 2013-08-11T08:57:58.367 に答える