JS innerHTML的错误值

时间:2013-11-12 19:53:49

标签: javascript html

我有这段代码:

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

http://jsfiddle.net/EQ88q/

如果更改输入值并单击“单击我”,您将看不到实际输入值。是否存在任何具有真正价值的“内在HTML”而不是“内部HTML”?

PS:我使用普通的javascript我不能使用任何库。

2 个答案:

答案 0 :(得分:1)

这会有效,但它很粗糙:

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

我在评论

中看到了ComCrude provided this exact answer

答案 1 :(得分:0)

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

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