Bas*_*asj 6 html javascript css html5 contenteditable
我使用一个内容可编辑的元素:
<span id="myinput" contenteditable="true">This is editable.</span>
Run Code Online (Sandbox Code Playgroud)
和
document.getElementById('myinput').innerHTML
Run Code Online (Sandbox Code Playgroud)
从Javascript读取其内容。
但是结果是:
"blah " => innerHTML = "blah   "
"bonjour\n bonsoir" => innerHTML = "bonjour<br>bonsoir"(Firefox)和innerHTML = "bonjour<div>bonsoir</div>"(Chrome)
也许还有很多其他东西被翻译成HTML ...
如何转换innerHTML成普通文字?
(即在我的两个示例中:"blah "和"bonjour\n bonsoir")
尝试使用;
#for IE
document.getElementById('myinput').innerText
#for everyone else
document.getElementById('myinput').textContent
Run Code Online (Sandbox Code Playgroud)
在查找换行符等方面,请考虑;
el = document.getElementById('myinput');
var nodes = el.childNodes;
var text = '';
for(var i = 0; i < nodes.length; i++) {
switch(nodes[i].nodeName) {
case '#text' : text = text + nodes[i].nodeValue; break;
case 'BR' : text = text + '\n'; break;
}
}
console.log(text);
Run Code Online (Sandbox Code Playgroud)