如何在Chrome的JavaScript中设置innerText

How to set innerText in JavaScript for Chrome?

本文关键字:设置 innerText JavaScript Chrome      更新时间:2023-09-26

我试图在Chrome中设置元素的开始和结束标记之间的innerText,但到目前为止还不能工作。为什么?我试过这些:

element.balanceText = "Changed.";
element.innerText = "Changed.";
element.innerHTML = "Changed.";
element.textContent = "Changed.";
element.value = "Changed.";
$(element).val("Changed.");

这是小提琴:http://jsfiddle.net/La1tadpd/

您的jsFiddle被配置为使用Coffee Script而不是纯JavaScript,因此,您会收到一个错误:

未压缩SyntaxError:保留字"var"

由于输入标记是无效的HTML,我建议删除浏览器创建的附加文本节点,然后用包含所需文本的div替换输入元素:

var element = document.getElementById('test');
element.nextSibling.parentNode.removeChild(element.nextSibling);
var div = document.createElement('div');
div.textContent = 'Changed.';
element.parentNode.replaceChild(div, element);
<input id='test'>Hello</input>

输入是一个无效元素,你不能做任何超出的事情

所以我们写<input/>而不是<input></input>,因为它不能有自定义内容

在此处查看教程http://naveendev.hol.es/tutorial/void-elements-in-html

NoModificationAllowedError:未能在"HTMLElement"上设置"innerText"属性:"input"元素不支持文本插入。

因为它是一个空元素