innerText的相容性處理
阿新 • • 發佈:2018-12-15
html程式碼如下
<div id="box">
hello
</div>
如何知道,瀏覽器是否支援元素的某個屬性呢?
var box = document.getElementById('box');
console.log(typeof box.a) // ====> undefined
console.log(typeof box.id) // 返回屬性的型別
使用typeof方法檢測瀏覽器是否支援元素的某個屬性:
- 當屬性不存在的時候返回的是undefined
- 當屬性存在的時候返回的是 該屬性的型別
通過這種方式可以寫出innerText的相容處理程式碼
var box = document.getElementById('box');
console.log(getInnerText(box));
// 處理innerText的相容性問題
function getInnerText(element) {
// 判斷當前瀏覽器是否支援元素的innerText屬性,支援innerText使用element.innerText獲取內容
// 如果不支援innerText屬性,使用element.textContent獲取內容
if(typeof element.innerText ==='string') {
return element.innerText;
} else {
return element.textContent
}
}