什么是input元素的innerHTML?

我只是试图从维基百科的铬控制台上做到这一点。 我将光标置于search栏中,然后尝试执行document.activeElement.innerHTML += "some text"但不起作用。 我search了一下,看看其他的属性和属性,不知道我做错了什么。

activeElementselect器正常工作,它正在select正确的元素。

编辑 :我只是发现它是value属性。 所以我想改变我的问题。 为什么改变input元素的innerHTML工作? 为什么他们有这样的财产,如果我不能做任何事情呢?

设置value通常用于input/表单元素。 innerHTML通常用于div,span,td和类似的元素。

value只适用于具有值属性的对象(通常是表单控件)。

innerHtml适用于每个可以包含HTML对象(div, innerHtml ,但是还有许多其他的表单控件)。

它们不是等同的或可替代的。 取决于你想要达到的目标

首先了解在哪里使用什么。

 <input type="text" value="23" id="age"> 

现在这里

 var ageElem=document.getElementById('age'); 

所以在这个ageElem你可以拥有那个元素包含的东西。所以你可以使用它的valuetype等属性。 但不能使用innerHTML,因为我们不在input标签之间写任何东西

  <button id='ageButton'>Display Age</button> 

所以在这里, Display Age是在HTML标签button中写入的innerHTML内容。

你的意思是这样的:

 $('.activeElement').val('Some text'); 

在input标签上使用innerHTML只会导致:

 <input name="button" value="Click" ... > InnerHTML Goes Here </input> 

但是由于input标签不需要结束标签,它将被重置为:

<input name="button" value="Click" ... />

所以很可能您的浏览器正在应用这些更改并立即重置它。

每个HTML元素都有一个innerHTML属性,它定义了HTML代码和在该元素的开始和结束标记之间出现的文本。 通过在用户交互之后更改元素的innerHTML,可以创build更多的交互式页面。

JScript中

 <script type="text/javascript"> function changeText(){ document.getElementById('boldStuff').innerHTML = 'Fred Flinstone'; } </script> 

HTML

 <p>Welcome to Stack OverFlow <b id='boldStuff'>dude</b> </p> <input type='button' onclick='changeText()' value='Change Text'/> 

在上面的例子中,b标签是innerhtml,dude是它的值,所以为了改变这些值,我们在JScript中编写了一个函数

innerHTML是将内容插入元素的指定ID的DOM属性。 它用于Javascript来操纵DOM。

例如:document.getElementById(“example”)。innerHTML =“my string”;

本示例使用该方法“查找”HTML元素(id =“example”),并将元素内容(innerHTML)更改为“my string”:

HTML更改

使用Javascript

 function change(){ document.getElementById(“example”).innerHTML = “Hello, World!” } 

点击button后,Hello,World! 将出现,因为innerHTML插入值(在这种情况下,你好,世界!)之间的开始标记和结束标记与id“示例”。

所以,如果你点击button后检查元素,你会看到下面的代码:

 <div id=”example”>Hello, World!</div> 

就这样