Why alert AnchorElement () alerts the href attribute?

前端 未结 3 1851
眼角桃花
眼角桃花 2021-01-21 17:24
A link

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

It will alert : url. Why this happen

相关标签:
3条回答
  • the reason you get url is because .each takes a container(array||object) and then uses your callback function to process the container. it will take an array's elements, or an object's properties, and iterate over them. since the property of your selector object is "href", you will get the url value.

    0 讨论(0)
  • 2021-01-21 18:04

    It's because the toString() of the anchor gives the URL.

    Live DEMO

    alert calls toString() implicity on objects. so when you alert an array like:

    [1,2,3,4,5,6]
    

    Alerting it will give you:

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

    Because the toString() of array is the elements separated by a comma.

    If you encounter this problem while debugging, you should use console.log() instead of alert()

    0 讨论(0)
  • 2021-01-21 18:08

    value is HTMLAnchorElement object, HTMLAnchorElement.toString() method return its url attribute.

    alert will use .toString() when display an object.

    0 讨论(0)
提交回复
热议问题