JS innerHTML 中的错误值

wrong values with JS innerHTML

本文关键字:错误 innerHTML JS      更新时间:2023-09-26

我有这个代码:

<div id='html'><input type='text' value='' /></div><br><a onClick="alert(document.getElementById('html').innerHTML);">click me</a>

http://jsfiddle.net/EQ88q/

如果您更改输入值并单击"单击我",您将看不到真正的输入值。是否有任何专有而不是"innerHTML"来获取真正的值?

PS:我使用的是纯JavaScript,我不能使用任何库。

这将起作用,但它非常粗糙:

<div id='html'>
<input type='text' value=''/>
</div>
<script>
function LinkClick()
{
 var ele = document.getElementById('html');
 ele.children[0].setAttribute("value",ele.children[0].value);
 alert(ele.innerHTML);
}
</script>
<br><a onClick="LinkClick()">click me</a>

我看到ComCrure刚刚在评论中提供了这个确切的答案

elem.innerHTML是元素内部的 HTML 代码。在这种情况下,innerHTML为空字符串,因为标记内没有内容。

应使用 input_elem.value 获取输入元素的 value 属性。