-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Day21 - innerHTML、 nodeValue与 textContent之间的区别 #26
Comments
用途
扩展其中 |
结论
|
innerHTML 属性设置或获取HTML语法表示的元素的后代
textContent 获取或设置当前节点的文本
|
<div id="test">
123
<span>456</span>
<span style="display:none;">789</span>
</div>
<script>
const testDOM = document.getElementById('test')
const innerHTMLStr = testDOM.innerHTML
const nodeValueStr = testDOM.childNodes[0].nodeValue
const textContent = testDOM.textContent
console.log(innerHTMLStr)
// '\n 123\n <span>456</span><span style="display:none;">789</span>\n'
console.log(nodeValueStr)
// '\n 123\n '
console.log(textContent)
// '\n 123\n 456789\n'
</script> |
|
|
<p dir="auto" id="abc">innerHTML属性读取或设置节点起始和结束标签中的 HTM L内容;<br>
nodeValue属性读取或设置指定节点的文本内容,适用于文本类型的节点;<br>
textContent属性读取或设置指定节点的文本内容,对于元素节点而言,会返回所包含的所有子节点中的文本内容的组合。</p>
$('#abc').innerHTML
'innerHTML属性读取或设置节点起始和结束标签中的 HTM L内容;<br>\nnodeValue属性读取或设置指定节点的文本内容,适用于文本类型的节点;<br>\ntextContent属性读取或设置指定节点的文本内容,对于元素节点而言,会返回所包含的所有子节点中的文本内容的组合。'
('#abc').childNodes[0].nodeValue
'innerHTML属性读取或设置节点起始和结束标签中的 HTM L内容;'
$('#abc').textContent
'innerHTML属性读取或设置节点起始和结束标签中的 HTM L内容;\nnodeValue属性读取或设置指定节点的文本内容,适用于文本类型的节点;\ntextContent属性读取或设置指定节点的文本内容,对于元素节点而言,会返回所包含的所有子节点中的文本内容的组合。' |
|
innerHTML:设置或获取标签内的内容(包括标签和内容) |
innerHTML: 设置或者获取元素内的文本和标签 |
innerHTML可以设置或者获取标签内的内容,包括标签和内容text content可以设置或者获取标签内的文本内容,会忽略到会忽略掉内部的标签,只获取文本node value。只有当当前的节点为纯文本的时候,它可以获取或者设置当前的文本内容,否则获取的时候会返回null |
<p id="prag" title="text">
一段文本
<span>一句话</span>
</p> var p = document.getElementById('prag')
console.log('nodeValue', p.nodeValue) // null
console.log('childNodes', p.childNodes[0].nodeValue) // \n 一段文本\n
console.log('innerHTML', p.innerHTML) // \n 一段文本\n <span id="sp">一句话</span>\n
console.log('innerText', p.innerText) // 一段文本 一句话
console.log('textContent', p.textContent) // \n 一段文本\n 一句话\n 结论
|
innerHTML 设置获取HTML语法表示的元素的后代 nodeValue textContent
|
|
在 HTML DOM 中,所有事物都是节点。DOM 是被视为节点树的 HTML.DOM中的节点是分好几种类型, 整个文档是一个文档节点(document,唯一) nodeValue 属性的替代选择是 textContent 属性。 innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML。 |
innerHTML返回指定标签内部的全部内容,包括标签和文本 nodeValue返回文本节点中文本,只针对文本节点和属性节点,标签节点则返回 null textContent返回指定标签内部的全部文本内容,忽略除文本以外的其他内容 |
innerHTML nodeValue textContent |
innerHTML :轻松替换元素的内容 |
innerHTML返回或设置元素节点中的所有标签+文本内容 |
innerHTML: 设置或者获取元素内的文本和标签 |
|
innerHTM L属性读取或设置节点起始和结束标签中的 HTM L内容; |
一个节点的 innerHTML,它代表的是一个字符串,就是这个节点所包含的HTML字符串。你可以修改一个节点的 innerHTML,然后界面也会发生变化。 一个节点的textContent,它代表的是这个节点内的HTML字符串中的文本部分。而且这个文本部分,它包含了display 为 none的节点里面的文本,以及style标签 / script标签里面的文本。 一个节点的nodeValue的话,不同类型的节点 nodeValue 是不一样的,如果是文本节点,nodeValue 就是代表这个节点的文本值,如果是属性节点,nodeValue 就代表属性的值。 |
The text was updated successfully, but these errors were encountered: