JavaScript中的innerHTML
、innertext
和value
有什么区别?
下面的示例引用了以下HTML代码段:
<div id="test">
Warning: This element contains <code>code</code> and <strong>strong language</strong>.
</div>
该节点将被以下JavaScript引用:
var x = document.getElementById('test');
设置或获取描述元素的后代的HTML语法
x.innerHTML
// => "
// => Warning: This element contains <code>code</code> and <strong>strong language</strong>.
// => "
这是W3C的DOM解析和序列化规范的一部分。注意,它是element
对象的属性。
设置或获取对象的开始标记和结束标记之间的文本
x.innerText
// => "Warning: This element contains code and strong language."
innertext
是由Microsoft引入的,Firefox有一段时间不支持它。2016年8月,innertext
被WHATWG采用,并在V45中添加到Firefox中。innertext
为您提供了一种样式感知的文本表示形式,它试图与浏览器呈现的内容匹配,这意味着:
innertext
应用文本转换
和空白
规则innertext
修剪行之间的空白并在项之间添加换行符innertext
不会返回不可见项的文本获取或设置节点及其后代的文本内容。
x.textContent
// => "
// => Warning: This element contains code and strong language.
// => "
虽然这是W3C标准,但IE<9不支持它。
节点
元素的
这取决于您所针对的元素。对于上面的示例,x
返回一个HTMLDivElement对象,该对象没有定义value
属性。
x.value // => null
例如,输入标记()确实定义了
value
属性,该属性引用“控件中的当前值”。
<input id="example-input" type="text" value="default" />
<script>
document.getElementById('example-input').value //=> "default"
// User changes input to "something"
document.getElementById('example-input').value //=> "something"
</script>
从文档中:
注意:对于某些输入类型,返回的值可能与用户输入的值不匹配。例如,如果用户在中输入非数值,则返回的值可能是空字符串。
下面是一个示例,它显示了上面给出的HTML的输出:
null
var properties = ['innerHTML', 'innerText', 'textContent', 'value'];
// Writes to textarea#output and console
function log(obj) {
console.log(obj);
var currValue = document.getElementById('output').value;
document.getElementById('output').value = (currValue ? currValue + '\n' : '') + obj;
}
// Logs property as [propName]value[/propertyName]
function logProperty(obj, property) {
var value = obj[property];
log('[' + property + ']' + value + '[/' + property + ']');
}
// Main
log('=============== ' + properties.join(' ') + ' ===============');
for (var i = 0; i < properties.length; i++) {
logProperty(document.getElementById('test'), properties[i]);
}
<div id="test">
Warning: This element contains <code>code</code> and <strong>strong language</strong>.
</div>
<textarea id="output" rows="12" cols="80" style="font-family: monospace;"></textarea>
与innertext
不同,innerhtml
允许您使用HTML格式文本,而不自动编码和解码文本。换句话说,innertext
检索并设置标记的内容为纯文本,而innerhtml
检索并设置HTML格式的内容。
问题内容: 是什么区别,并且在JavaScript? 问题答案: 但是,与不同,它使您可以处理HTML富文本格式,并且不会自动对文本进行编码和解码。换句话说,以纯文本的形式检索和设置标签的内容,而以HTML格式检索和设置标签的内容。
有人能指出两者之间的区别吗?当某人应该在上使用'.get_attribute("innerhtml“)‘时?
问题内容: 我有一个由Javascript填充的下拉列表。 在决定应该在加载时显示的默认值时,我意识到以下属性显示的值完全相同: 我自己的研究显示基准测试或其中一些(但不是全部)之间的比较。 我可以使用自己的常识并选择1或其他,因为它们提供相同的结果,但是,我担心如果数据发生更改,这将不是一个好主意。 我的发现是: 将按原样显示该值,并忽略可能包含的任何HTML格式 将显示值并应用任何HTML格式
问题内容: 我想做一些域验证 在我的对象中,我有一个整数, 现在我的问题是我是否写 和 如果是整数,则哪一个适合域验证。 有人可以解释一下两者之间的区别吗? 谢谢。 问题答案: 和用于验证数字字段,其可以被(代表数字), ,, 等和它们各自的原始包装。 用于检查字段的长度约束。 按照文档的支持,,和而和支持原语及其包装。请参阅文档。
本文向大家介绍innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解,包括了innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解的使用技巧和注意事项,需要的朋友参考一下 innerHTML属性用来读取或设置某个节点内的HTML代码。 outerHTML属性用来读取或设置HTML代码时,会把节点
问题内容: 以下三个字段的有效性检查之间有什么区别? 我读到第一个与DDL有关。第二个是用于bean验证的。第三是用于hibernate验证。 那是对的吗?我仍然不明白的是:我什么时候必须使用哪个?这些注释之一何时触发? 编辑:考虑以下情况:考虑到需要开发一个长度为string类型的字段(长度为13)的实体,您会选择上述哪种方法?甚至更好:您必须问自己哪些问题才能找出适合您目的的一个? 问题答案: