innerText兼容处理

转载自:https://www.cnblogs.com/leejersey/p/3520497.html;稍微改了一下和加了一些注释;

IE、Safari、Opera和Chrome支持innerText属性。Firefox虽然不支持innerText,但支持作用类似的textContent属性。textContent是DOM3级规定的一个属性,而且也得到了safari、opera和Chrome的支持。为了确保跨浏览器兼容,有必要想下面这样通过函数来检测可以使用哪个属性:(注:与之对应的还有innerHTML{这个貌似不需要兼任性处理各个主流浏览器内核都是一样的处理},而jQuery的val是指elem的value属性的值)

  var div = document.getElementById("content");
function getInnerText(element) {
  // 先判断获得的元素里是否有textContent属性,如果没有则这里会是"undefined" return (typeof element.textContent === "string") ? element.textContent : element.innerText; } function setInnerText(element, text) { if (typeof element.textContent === "string") { element.textContent = text; } else { element.innerText = text; } } setInnerText(elem, "Hello world!"); alert(getInnerText(elem)); //"Hello world!"

猜你喜欢

转载自www.cnblogs.com/silentdoer/p/8922632.html