首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >未捕获TypeError:对象#<HTMLDivElement>没有方法“attr”

未捕获TypeError:对象#<HTMLDivElement>没有方法“attr”
EN

Stack Overflow用户
提问于 2012-11-24 00:51:03
回答 2查看 27.1K关注 0票数 18

我正在尝试用类工具提示抓取我的div。

然后做一些像这样的事情:

var schemes = $(".tooltip");

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

但是它抛出了上面的错误。我遗漏了什么?(我显然是javascript + jquery的新手)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-24 00:51:44

如果你使用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"));
});
票数 33
EN

Stack Overflow用户

发布于 2012-11-24 00:54:58

var schemes = $(".tooltip");

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

作为附注,据我所知,“成本”对于任何元素都不是有效的属性,您可能应该使用数据属性。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13533089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档