You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何getElementById获取元素value返回undefined?附代码示例

为什么getElementById("demo").value返回undefined?

先看你贴的代码:

<body> 
  <p id = "demo">fffffffff</p> 
  <button onclick = "fun()">click</button> 
  <script type="text/javascript" defer = "defer"> 
    function fun(){ 
      alert(document.getElementById("demo").value); 
    } 
  </script> 
</body>

问题出在**<p>标签根本没有value属性**!

value是表单类元素(比如<input>、<textarea>、<select>这类用来收集用户输入的标签)专属的属性,而<p>只是用来展示文本的段落标签,它的内容是存在textContent或者innerHTML属性里的,不是value。

你只需要把代码里的.value改成.textContent就能正常获取段落里的文本了:

function fun(){ 
  alert(document.getElementById("demo").textContent); 
}

如果你的段落里包含HTML标签(比如<b>、<i>),想要获取带HTML结构的内容,就用.innerHTML代替.textContent。

另外,要是你想让这个段落可以被用户编辑,可以给<p>加上contenteditable="true"属性,但即便如此,它依然没有value属性,获取内容还是得用textContent或者innerHTML哦。

内容的提问来源于stack exchange,提问作者user8930932

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:34:59