📌  相关文章
📜  如何获取元素的文本节点? - Javascript(1)

📅  最后修改于: 2023-12-03 15:24:53.914000             🧑  作者: Mango

如何获取元素的文本节点? - Javascript

在开发web应用时,有时需要获取元素内部的文本节点,比如文本框中的文字、段落中的文字等。在Javascript中获取元素的文本节点可以使用以下几种方法:

使用innerHTML属性

使用innerHTML属性可以获取元素内部的所有内容,包括标签和文本节点。如果只需要获取文本节点,可以使用正则表达式将标签替换为空字符串。

let element = document.getElementById('myElement');
let text = element.innerHTML.replace(/<[^>]+>/g, '');
console.log(text);

注意:使用innerHTML属性获取元素内容时,如果内容中含有用户输入的内容,存在XSS攻击的风险。

使用innerText或textContent属性

使用innerText或textContent属性可以获取元素内部的文本节点,不包括标签。两者的区别在于innerText会返回元素和它的所有后代元素的文本内容,而textContent只返回元素的文本内容。

let element = document.getElementById('myElement');
let text = element.innerText || element.textContent;
console.log(text);
使用nodeValue属性

使用nodeValue属性可以获取文本节点的值。需要首先获取到文本节点,然后获取其nodeValue属性。

let element = document.getElementById('myElement');
let textNode = element.firstChild;
let text = textNode.nodeValue;
console.log(text);

注意:获取文本节点前需要判断元素是否含有子节点,否则会抛出错误。

以上几种方法都可以获取元素的文本节点,选择哪种方法可以根据实际需求来决定。