个性A标签

问题:

前段时间,小琳同学问我A标签为啥alert出来的是它的href?

示例:

先来两个标签比较一下。

<a id="a" href="http://www.baidu.com">baidu.com</a>
<span id="b">baidu.com</span>

再敲点代码比较一下。

alert(a);              // "http://www.baidu.com/"        不是常见的啥啥对象
alert(b);              // "[object HTMLSpanElement]"     正常的啥啥对象
alert(a.id);           // "a"                            能取到标签的属性
alert(a.href);         // "http://www.baidu.com/"
alert(a==a.href);      // true                           表示结果相同
alert(a===a.href);     // false                          表示本质不同
alert(a.toString());   // "http://www.baidu.com/"        A标签toString返回的是它的href

可以发现,问题出在A标签的toString上,再比较一下。

alert(a.toString==b.toString);                // false
alert(b.toString==document.body.toString);    // true

这表示A标签的toString函数不是继承来的,而是被重新了,它返回自己的href值。

收获:

个性标签,还有没有了?

 

posted @ 2014-08-07 23:36  ccforeverd  阅读(232)  评论(0编辑  收藏  举报