简体   繁体   English

使DIV充当INPUT字段

[英]Make a DIV act as an INPUT field

I am currently using a bunch of input textfields and I want to change it to a DIV, but most of my JS functions use document.getElementById("inputField1").value whenever the value of the input field is set like this: 我目前正在使用一堆输入文本字段,我想将其更改为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!"/>

That would return just Hello World! 这将只返回Hello World! if I were to display the value in an alert 如果我要在alert显示值

How would I get the value of the text in between if I were to use DIVs? 如果我要使用DIV,我如何获得文本的价值呢?

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

Thanks! 谢谢!

In that case you can use: 在这种情况下,您可以使用:

document.getElementById('inField001').innerHTML

Or: 要么:

document.getElementById('inField001').innerText 

Or: 要么:

document.getElementById('inField001').textContent

Also (if you want to use jQuery): 另外(如果你想使用jQuery):

$('#inField001').text()

You would just do 你会做的

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

But if your DIV has some html this will grab that too. 但是如果你的DIV有一些html,这也会抓住它。

.innerHTML .innerHTML

You can also use document.getElementById('inField001').textContent) to grab just the text nodes from the element ignoring any element wrappers. 您还可以使用document.getElementById('inField001').textContent)从元素中抓取文本节点,忽略任何元素包装。

But support for textContent is not as good as innerHTML. 但是对textContent的支持不如innerHTML。 See doc for info and support. 请参阅doc获取信息和支持。

Another way is using innerText . 另一种方法是使用innerText alert(document.getElementById('inField001').innerText); but not supported in FF. 但不支持FF。

See Doc for support. 请参阅Doc获取支持。

Fiddle 小提琴

Use the innerHTML property. 使用innerHTML属性。

document.getElementById("inField001").innerHTML

BTW this kind of thing is way better to do with jQuery. 顺便说一下,使用jQuery这种方式更好。

For just text content: 仅适用于文字内容:

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

For the more verbose version, see here. 有关更详细的版本, 请参阅此处。

or just do 或者只是做

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM