为什么警告AnchorElement(<a>) alerts the href attribute?</a>

时间:2012-06-18 03:29:49

标签: javascript jquery anchor

<a href="url">A link</a>

$.each($('a'), function(index,value){
    alert (value)
});

它会发出警告:url。 为什么会这样?

3 个答案:

答案 0 :(得分:5)

这是因为锚的toString()给出了URL。

Live DEMO

alert调用toString()隐含在对象上。所以当你警告一个像:

这样的数组时
[1,2,3,4,5,6]

警告它会给你:

"1,2,3,4,5,6"

因为array的toString()是用逗号分隔的元素。

如果您在调试时遇到此问题,则应使用console.log()代替alert()

答案 1 :(得分:3)

valueHTMLAnchorElement个对象,HTMLAnchorElement.toString()方法返回其url属性。

alert在显示对象时会使用.toString()

答案 2 :(得分:0)

你得到url的原因是因为.each接受一个容器(数组||对象),然后使用你的回调函数来处理容器。它将获取数组的元素或对象的属性,并迭代它们。由于您的选择器对象的属性是“href”,您将获得url值。