Javascript 为什么我得到[object HTMLParagraphElement]

Javascript 为什么我得到[object HTMLParagraphElement],javascript,Javascript,我是个新手。这是我的密码: <html> <head> <script type="text/javascript"> function replyOne () { document.getElementById("comment_content").value = document.getElementById("username") } </script> </head>

我是个新手。这是我的密码:

<html>
  <head>
    <script type="text/javascript">
      function replyOne () {
        document.getElementById("comment_content").value = document.getElementById("username")
      }
    </script>
  </head>
  <body>
    <p id="username">Jack</p>
    <textarea id="comment_content" ></textarea>
    <button onclick="replyOne()">Copy Text</button>
  </body>
</html>

函数replyOne(){
document.getElementById(“注释内容”).value=document.getElementById(“用户名”)
}
杰克

复制文本
我希望当我点击按钮时,它会将“Jack”复制到文本区域。 但它只写“[object HTMLParagraphElement]”。

它应该是:

document.getElementById("comment_content").value =
    document.getElementById("username").innerHTML

如果没有
.innerHTML
,它将尝试复制实际元素,而不是其内容。

您可以使用textContent、innertext、innerHTML。但其中两个是特定于浏览器的,innerHTML可以在三种主要浏览器上工作

您还可以按父子组合解析dom,并将获得所需的值

 function replyOne () {
    document.getElementById("comment_content").value=document.getElementById("username").innerHTML;

    //OR 
    document.getElementById("comment_content").value=document.getElementById("username").textContent;

    }

这是带有示例的[objectHTMLParagraphElement]的解决方案

var sel = document.getElementById('ex').innerHTML; // without innerHTML this will 
comes [objectHTMLParagraphElement]
var txt = sel + "Hello";    
document.write(txt); // output Hello

知道了。非常感谢。:)@许明:别忘了勾选(接受)对你有用的答案。