JavaScript中创建锚点元素

3
我使用createElement()方法创建了一个锚点元素(在Chrome和Firefox开发者工具中),但是当我尝试在控制台显示该元素时,发现是空白的。当我使用div元素创建时,可以在控制台正确地显示元素。以下是实际代码和输出。这是什么原因?难道锚点元素不应该输出为:[object HTMLAnchorElement]吗? 代码: 在Chrome开发者工具的控制台中
var anchor = document.createElement(‘a’)
console.log(‘anchor: ‘ + anchor)

输出: a:

代码:

var div = document.createElement('div')
console.log(‘div: ‘ + div)

输出

:[object HTMLDivElement]


这些引号是什么意思? - epascarello
它们是字符串字面量。 - raj
在Chrome中使用它们会导致错误,错误信息为“未捕获的SyntaxError:无效或意外的标记”。 - epascarello
1个回答

1
锚点已经存在,只是您在错误地使用控制台。
您正在将字符串与对象连接起来,而anchor.toString()返回一个空字符串,而对于DIV,则会返回[object HTMLDivElement]
要解决这个问题,只需正确使用控制台,将它们分别记录即可。
var anchor = document.createElement('a')
console.log('anchor: ')
console.log(anchor)

或者使用逗号作为分隔符。
var anchor = document.createElement('a')
console.log('anchor:', anchor)

你将把这个对象记录为一个对象,而不是一个字符串


感谢adeneo的回答。我也想了解为什么anchor.toString()不会返回[object HTMLAnchorElement]。是否有任何参考资料可以澄清这一点。我找不到任何相关信息。 - raj
@raj - 我不确定为什么,你会认为这正是它字符串化时应该返回的内容,但实际上它并没有,我也找不到任何关于为什么它不返回的参考资料? - adeneo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接