クラスのツールチップで div を取得しようとしています。
そして、次のようにします。
var schemes = $(".tooltip");
for (var i in schemes) {
var scheme = schemes[i];
console.log(scheme.attr("cost"));
}
しかし、それは上記のエラーをスローします。私は何が欠けていますか?(明らかにjavascript + jqueryは初めてです)
クラスのツールチップで div を取得しようとしています。
そして、次のようにします。
var schemes = $(".tooltip");
for (var i in schemes) {
var scheme = schemes[i];
console.log(scheme.attr("cost"));
}
しかし、それは上記のエラーをスローします。私は何が欠けていますか?(明らかにjavascript + jqueryは初めてです)
for-loop
jQuery セットを繰り返し使用する場合は、要素をeq()
メソッドで取得する必要がありますが、角かっこ表記 (つまり[]
) は使用しないでください。次のようなコード$(".tooltip")[i]
は DOM 要素を取得しますが、jQuery オブジェクトは取得しません。
var schemes = $(".tooltip");
for (var i = 0; i < schemes.length; i++) {
var scheme = schemes.eq(i);
console.log(scheme.attr("cost"));
}
ただし、常にeach()
jQuery セットを反復するために使用できます。
$(".tooltip").each(function() {
var scheme = $(this);
console.log(scheme.attr("cost"));
});
var schemes = $(".tooltip");
schemes.each(function(index, elem) {
console.log($(elem).attr('cost'));
});
補足として、「コスト」は、私の知る限り、どの要素に対しても有効な属性ではなく、おそらくデータ属性を使用する必要があります。