在一些低版本浏览器中可能会出现innerText和textContent的兼容问题, 这里我是用了chrome、火狐和IE浏览器进行测试, 结论如下
- 设置标签中的文本内容,应该使用textContent属性,谷歌,火狐支持,ie8不支持
- 设置标签中的文本内容,应该使用innerText属性,谷歌,火狐,ie8都支持
- 如果这个属性在浏览器中不支持,那么这个属性的类型是undefined
代码如下:
// 设置任意的标签中间的任意文本内容
/**
* 设置属性
* @param element 元素标签
* @param text 元素标签所对应的值
*/
function setInnerText(element, text) {
// 判断浏览器是否支持这个属性
if (typeof element.innerText == "undefined") { // 支持
element.textContent = text;
} else { // 支持
element.innerText = text;
}
}
// 获取标签中的文本内容
/**
* @param element 元素标签
* @returns {*}
*/
function getElementText(element) {
if (typeof element.innerText == "undefined") {
return element.textContent;
} else {
return element.innerText;
}
}