Javascript-单击事件不返回对象

Javascript-单击事件不返回对象,javascript,Javascript,因此,单击此处的链接将写入javascript:void(0),而不是“a”元素的对象引用,这是怎么回事?我可以在href中输入什么内容来做同样的事情,即不像#那样滚动页面,而是正确地写出引用 var el=document.getElementById(“单击”); el.addEventListener(“单击”),函数(el){ 文件编写(el); }).绑定(此,el),假) document.write()需要将其参数转换为字符串才能写入,因此它调用el.toString()html

因此,单击此处的链接将写入
javascript:void(0)
,而不是“a”元素的对象引用,这是怎么回事?我可以在href中输入什么内容来做同样的事情,即不像#那样滚动页面,而是正确地写出引用

var el=document.getElementById(“单击”);
el.addEventListener(“单击”),函数(el){
文件编写(el);
}).绑定(此,el),假)
document.write()
需要将其参数转换为字符串才能写入,因此它调用
el.toString()
htmlanchoreElement
覆盖默认方法并返回
href
属性

您可以通过调用
HTMLElement
prototype对象的
toString()
函数来绕过此问题

var el=document.getElementById(“单击”);
el.addEventListener(“单击”),函数(el){
document.write(HTMLElement.prototype.toString.call(el));
}).绑定(此,el),假)

我不清楚将DOM元素传递给
文档会产生什么样的结果
document.write
需要包含HTML的字符串。你认为“对象引用”是什么样子的?它应该打印对象引用,如果它是一个div,它会打印[object htmldevelment],为什么要使用.bind???没有意义,您不应该使用document.write。使用console.log()进行调试,而不是使用document.write。
这是测试代码不要担心它应该做什么
是寻求帮助的糟糕方式
el
是整个元素。您只看到
href
标记的值,因为调用
el.toString()
时会发生这种情况,而调用该标记是因为您将
el
传递到
document.write
。所以,是的,解释一下您实际想要做什么很重要,因为这样我们可以更快地解决这个问题:
document.write
不是一个调试工具。使用
console.log
console.dir
检查变量的值。@user1209203:否。调用
toString()
方法将返回
href
值,这是将DOM元素传递给
文档时发生的情况。write
<代码>文档。编写
不是调试工具。使用
console.log
console.dir
检查变量的值。@user1209203
document.write()的参数必须是字符串。如果它不是字符串,则通过调用对象的
toString()
方法将其转换为字符串。@user1209203:如果您从一开始就解释了您实际要做的事情,会更容易些。再次强调:
el
是一个DOM元素,无论您选择的是哪种类型的元素。@user1209203:这就是为什么有
console.dir
这是一种更好的实际检查对象的方法。@user1209203在文档中打印DOM元素不是一件常见的事情。这类工作通常是使用浏览器的开发工具交互完成的。