JQuery:TypeError:对象0没有方法'attr'

时间:2011-04-01 12:28:46

标签: jquery attributes css-selectors href

这是我试图运行以“选择”我页面的每个.insite元素的href属性的代码:

$('.insite').each(function(a) {
    a.attr('href');
});

不幸的是,它失败并返回以下错误:

  

对象0没有方法'attr'

我的所作所为有什么不妥吗?

4 个答案:

答案 0 :(得分:12)

回调传递给.each() takes parameters (index, Element),但您忘记了索引。尝试:

$('.insite').each(function(i, a) {
    alert(a.attr('href'));
});

或只是:

$('.insite').each(function() {
    alert($(this).attr('href'));
});

答案 1 :(得分:2)

不使用'a',而是使用'this'

e.g。

$('.insite').each(function(){
     $(this).attr('href');
});

答案 2 :(得分:2)

试试这个

$('.insite').each(function(i) {
    $(this).attr('href');
    // i is the current number of the element in collection
});

答案 3 :(得分:0)

你的名为“a”的var只是一个迭代变量,所以你不能只输入a.attr。

如果你真的想使用“a”,你应该这样做:

$('.insite').each(function(a) {
var obj = $('.insite')[a];
alert($(obj).attr("href"));
});

但我认为这样的事情真的更好:

$('.insite').each(function() {
$(this).attr("href");
});