这是我试图运行以“选择”我页面的每个.insite元素的href属性的代码:
$('.insite').each(function(a) {
a.attr('href');
});
不幸的是,它失败并返回以下错误:
对象0没有方法'attr'
我的所作所为有什么不妥吗?
答案 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");
});