有时候需要查询纯文本形式的元素内容,或者在文档中插入纯文本。标准的方法是用Node的textContent属性来实现:
1 var para = document.getElementsByTagName('p')[0]; 2 var text = para.textContent; 3 para.textContent = 'Hello World!';
textContent属性在除了IE的所有当前的浏览器中都支持。在IE中可以使用Element的innerText属性来代替。
1 /* 2 一个参数,返回元素的textContent或innerText 3 两个参数,用value参数的值设置元素的textContent或innerText 4 */ 5 function textContent(element, value){ 6 var content = element.textContent; //检测textContent是否定义 7 if(value === undefined){ // 没传递value,因此返回当前文本 8 if(content !== undefined) 9 return content; 10 else return element.innerText; 11 } else{ // 传递了value,因此设置文本 12 if(content !== undefined) 13 return content; 14 else return element.innerText; 15 } 16 }
TextContent属性就是将指定元素的所有后代Text节点简单地串联在一起。