var divs = $("div"); for (var i = 0; i < divs.length; i++) { var div = divs[i]; console.log(div.attr("name")); //ここでエラー }
とやると怒られる。(HTMLElement has no method的なエラー。)
理由
attrはjQueryオブジェクトのメソッドだのに、divはDOMオブジェクトだのでそんなメソッドはありません。
$("div")で取得しようが、divsに入っている要素はDOMオブジェクトなのですね。
対処法
jQueryのeqを使う。
var divs = $("div"); for (var i = 0; i < divs.length; i++) { var div = divs.eq(i); //配列を指定するのでなく、eqを使って取得 console.log(div.attr("name")); }
これでおーけーね。