看到一个同学提问alert()中是一个a标签为什么出来的是href的值而不是a标签本身。
首先看看规范,https://developer.mozilla.org/zh-CN/docs/Web/API/Window/alert
window.alert(message);
message是要显示在对话框中的文本字符串
,如果传入其他类型的值,会转换成字符串.
而a标签toString() ,在某些浏览器中确实是href的值。其他dom可能显示的是[Object ...]
所以想显示a标签的话,就使用outerHTML。
示例代码如下
var ele = document.createElement('a');
ele.href = 'test';
alert(ele);
alert(ele.outerHTML);