【问题标题】:why does this code returns undefined value? [duplicate]为什么这段代码返回未定义的值? [复制]
【发布时间】:2020-03-16 04:25:49
【问题描述】:

为什么console.log 语句返回undefined

即使 标签idright 所以它应该返回存储在 <p> 标签中的值?

x=document.getElementById("pppp").value  //assigning the value of <p> tag to x
console.log(x)    //printing the value of x in console
<html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial- 
    scale=1.0">
    <title>blabla</title>
    </head>
    <body>
       <p id="pppp">dvshjb</p>
    </body>
</html>

【问题讨论】:

  • 只有 input 类型的元素有 value .. div 不是其中之一
  • 因为没有p标签的值...而不是使用.value使用.textContent来获取dvshjb

标签: javascript html error-handling syntax-error


【解决方案1】:

value 属性用于访问Form ElementVALUE

在您的情况下,我假设您正在尝试访问元素的文本。 Node.textContent 是这里的理想选择。

var x = document.getElementById("pppp").textContent;
console.log(x);
&lt;p id="pppp"&gt;dvshjb&lt;/p&gt;

【讨论】:

    【解决方案2】:

    p 标签没有任何值属性。看来您需要文本内容。在这种情况下使用innerHTML。 trim() 将用于删除空格

    let x = document.getElementById("pppp").innerHTML.trim()
    console.log(x)
    &lt;p id="pppp"&gt;dvshjb&lt;/p&gt;

    【讨论】:

      【解决方案3】:
      P tag does not have value property. For div, p, span, etc. you can access innerHTML. 
      

      <html lang="en">
      <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial- 
      scale=1.0">
      <title>blabla</title>
      </head>
      <body>
         <p id="pppp">dvshjb</p>
         <script>
             x=document.getElementById("pppp").innerHTML  
             console.log(x) 
         </script>
      </body>
      </html>

      【讨论】:

        【解决方案4】:

        value 替换为innerHtml

        发件人:

        x=document.getElementById("pppp").value;
        console.log(x);
        

        收件人:

        x=document.getElementById("pppp").innerHTML;
        console.log(x);
        

        【讨论】:

          【解决方案5】:

          “值”属性用于输入。您应该按如下方式使用“innerText”:

          <html lang="en">
          <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial- 
          scale=1.0">
          <title>blabla</title>
          </head>
          <body>
             <p id="pppp">dvshjb</p>
             <script>
                 x=document.getElementById("pppp").innerText //assigning the value of <p> tag to x
                 console.log(x)                           //printing the value of x in console
             </script>
          </body>
          </html>

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-09-24
            • 2017-03-28
            • 2017-05-19
            • 2017-12-25
            • 2011-05-07
            • 2018-07-11
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多