未捕获的TypeError:Object#< HTMLDivElement>没有方法'attr' [英] Uncaught TypeError: Object #<HTMLDivElement> has no method 'attr'
本文介绍了未捕获的TypeError:Object#< HTMLDivElement>没有方法'attr'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图用类工具提示抓住我的div。
Im trying to grab my divs with the class tooltip.
然后做这样的事情:
var schemes = $(".tooltip");
for (var i in schemes) {
var scheme = schemes[i];
console.log(scheme.attr("cost"));
}
但它会引发上述错误。我错过了什么? (我很明显是javascript + jquery)
But it throws the above error. What am i missing? (Im new to javascript + jquery obviously)
推荐答案
如果你使用 for-loop
迭代jQuery集,你应该用 eq()
方法获取元素,但不能使用方括号表示法(即 []
)。像 $(。tooltip)[i]
这样的代码将获取DOM元素,但不是 jQuery对象。
If you use for-loop
to iterate jQuery set, you should get the elements with eq()
method, but not using square bracket notation (i.e. []
). The code like $(".tooltip")[i]
will pick up DOM elements, but not jQuery objects.
var schemes = $(".tooltip");
for (var i = 0; i < schemes.length; i++) {
var scheme = schemes.eq(i);
console.log(scheme.attr("cost"));
}
但是,您可以随时使用 each()
迭代jQuery集:
However, you may always use each()
to iterate jQuery set:
$(".tooltip").each(function() {
var scheme = $(this);
console.log(scheme.attr("cost"));
});
这篇关于未捕获的TypeError:Object#< HTMLDivElement>没有方法'attr'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文