簡體   English   中英

為什么我得到 [object HTMLParagraphElement]

[英]Why did I get [object HTMLParagraphElement]

我是新手。 這是我的代碼:

<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>

我希望當我單擊該按鈕時,它會將“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;

    }

我是一名退休的土木工程師。 我今年 71 歲,很抱歉我不得不成為最后一個為您提供解決方案的程序員! 您需要使用obj.innerText屬性提取您正在尋找的內容,您將解決問題 - :

var t= document.getElementById("comment_content");
var text=t.innerText;
alert(t);

這是 [objectHTMLParagraphElement] 示例的解決方案

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM