首页 > 代码库 > 个性A标签

个性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);                // falsealert(b.toString==document.body.toString);    // true

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

收获:

个性标签,还有没有了?