使DIV充当INPUT字段

时间:2013-05-24 18:01:34

标签: javascript html input textfield

我目前正在使用一堆输入文本字段,我想将其更改为DIV,但只要输入字段的值设置如下,我的大多数JS函数都会使用document.getElementById("inputField1").value

<input contenteditable="false" id="inputField1" type="text" size="12" style="background:#09F;color:#FFF;text-align:center" value="Hello World!"/>

如果我要在Hello World!

中显示值,那么只返回alert

如果我要使用DIV,我如何得到文本的值?

例如<div id="inField001">Hello World</div>

谢谢!

5 个答案:

答案 0 :(得分:8)

在这种情况下,您可以使用:

document.getElementById('inField001').innerHTML

或者:

document.getElementById('inField001').innerText 

或者:

document.getElementById('inField001').textContent

另外(如果你想使用jQuery):

$('#inField001').text()

答案 1 :(得分:5)

你会做的

var value = document.getElementById('inField001').innerHTML);

但是如果你的DIV有一些html,这也会抓住它。

.innerHTML

您还可以使用document.getElementById('inField001').textContent)从元素中抓取文本节点,忽略任何元素包装。

但是对textContent的支持不如innerHTML。 有关信息和支持,请参阅doc

另一种方法是使用innerTextalert(document.getElementById('inField001').innerText);但FF不支持。

请参阅Doc获取支持。

Fiddle

答案 2 :(得分:1)

使用innerHTML属性。

document.getElementById("inField001").innerHTML

顺便说一句,这种事情比jQuery更好。

答案 3 :(得分:0)

仅适用于文字内容:

var value = document.getElementById('inputField1').textContent;

对于更详细的版本,see here.

答案 4 :(得分:-1)

或只是做

x = document.getElementById("inField001");
alert(x);