Javascript 为什么警报AnchoreElement(<;a>;)会警报href属性? $。每个($('a'),函数(索引,值){ 警报(值) });

Javascript 为什么警报AnchoreElement(<;a>;)会警报href属性? $。每个($('a'),函数(索引,值){ 警报(值) });,javascript,jquery,anchor,Javascript,Jquery,Anchor,它将发出警报:url。 为什么会发生这种情况?这是因为锚定的toString()提供了URL alert调用对象的toString()隐式性。因此,当您向以下阵列发出警报时: <a href="url">A link</a> $.each($('a'), function(index,value){ alert (value) }); 提醒它将为您提供: [1,2,3,4,5,6] 因为数组的toString()是由逗号分隔的元素 如果在调试时遇到此问题,

它将发出警报:
url

为什么会发生这种情况?

这是因为锚定的
toString()
提供了URL

alert
调用对象的
toString()
隐式性。因此,当您向以下阵列发出警报时:

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

$.each($('a'), function(index,value){
    alert (value)
});
提醒它将为您提供:

[1,2,3,4,5,6]
因为
数组的toString()是由逗号分隔的元素


如果在调试时遇到此问题,应使用
console.log()
而不是
alert()
htmlanchoreElement
对象,
htmlanchoreElement.toString()
方法返回其url属性


警报
在显示对象时将使用
.toString()

获取url的原因是。每个url都获取一个容器(数组| |对象),然后使用回调函数处理容器。它将获取数组的元素或对象的属性,并对它们进行迭代。由于选择器对象的属性是“href”,因此您将获得url值。

即使没有toString()@danil,它也会返回url。不,
alert
call
toString()
implicity。为什么不使用
console.log
?这不是真的,您可以在我的答案中看到演示。
"1,2,3,4,5,6"