getElementById(" demoname")。value return undefine

时间:2018-01-27 09:23:02

标签: javascript

我的JS代码返回undefined。标签是goog,但缺少价值。为什么呢?

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

4 个答案:

答案 0 :(得分:3)

p代码没有value。它有textContent。只有input元素具有value属性

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

答案 1 :(得分:1)

您需要提醒set findFiles=0 for /f %%A in ('FORFILES /P "%filePath%" /S /M "%fileName%" /C "cmd /c echo @path"') do ( set /a findFiles+=1 echo %findFiles% - %%~A ) ,而不是innerHTML

&#13;
&#13;
value
&#13;
&#13;
&#13;

答案 2 :(得分:1)

<p>代码没有value。您可以选择使用textContentinnerHTMLinnerText。所有这些都有好处和局限。

如果您只想要用<p>写的文字,那么您应该使用textContent

  IE8或更早版本

不支持

textContent

示例

<p id=“demo”><ul><li>mytext</li></ul></p>
var x=document.getElementById(“demo”);

var output = x.textContent;

<强>输出

mytext的

如果您希望来自UL的带有Html的文字(例如LI<p>),那么您应该使用innerHTML

var output = x.innerHTML; 

<强>输出

  • mytext的
  

所有浏览器都支持innerHTML

您也可以使用innerText

  

innerText将不包含CSS隐藏的文本,但textContent将

因此请根据您的要求进行选择。

答案 3 :(得分:0)

请尝试使用.innerHTML属性。

alert(document.getElementById("demo").innerHTML);