18

クラスのツールチップで div を取得しようとしています。

そして、次のようにします。

var schemes = $(".tooltip");

for (var i in schemes) {
    var scheme = schemes[i];
    console.log(scheme.attr("cost"));
}

しかし、それは上記のエラーをスローします。私は何が欠けていますか?(明らかにjavascript + jqueryは初めてです)

4

2 に答える 2

33

for-loopjQuery セットを繰り返し使用する場合は、要素を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"));
});
于 2012-11-23T16:51:43.907 に答える
4
var schemes = $(".tooltip");

schemes.each(function(index, elem) {
    console.log($(elem).attr('cost'));
});

補足として、「コスト」は、私の知る限り、どの要素に対しても有効な属性ではなく、おそらくデータ属性を使用する必要があります。

于 2012-11-23T16:54:58.297 に答える