未捕获的TypeError:Object#< HTMLDivElement>没有方法'attr' [英] Uncaught TypeError: Object #<HTMLDivElement> has no method 'attr'

查看:101
本文介绍了未捕获的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#&lt; HTMLDivElement&gt;没有方法'attr'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆