如果浏览器不兼容这个属性或者方法会报 类型undefined 因此根据undefined写兼容代码
得到文本内容 设置文本内容
- innerText兼容谷歌火狐 ie11
- textContent 兼容ie8
<p id="p1">兼容性</p>
</body>
<script>
function my$(id) {
return document.getElementById(id);
}
function getInnerText(ele) {
if (typeof ele.textContent == "undefined") {
return ele.innerText;
} else {
return ele.textContent;
}
}
function setInnerText(ele, tex) {
if (typeof ele.textContent == "undefined") {
ele.innerText = tex;
} else {
ele.textContent = tex;
}
}
setInnerText(my$("p1"), "分色费");
console.log(getInnerText(my$("p1")));
<input value="绑定兼容代码" id="btn" type="button">
<input value="解绑兼容代码" id="btn2" type="button">
<script>
function my$(id){
return document.getElementById(id);
}
//添加绑定的兼容代码
function addEventListener(ele,type,fnName){
if(ele.addEventListener){
ele.addEventListener(type,fnName,false);
}else if(ele.attachEvent){
ele.attachEvent(type,fnName);
}else{
ele["on"+type]=fnName;
}
}
//解绑的兼容代码
function removeEventListener(ele,type,fnName){
if(ele.removeEventListener){
ele.removeEventListener(type,fnName,false);
}else if(ele.detachEvent){
ele.detachEvent(type,fnName);
}else{
ele["on"+type]=null;
}
}
function fnName(){
console.log("添加绑定事件");
}
addEventListener(my$("btn"),"click",fnName);
my$("btn2").onclick=function(){
removeEventListener(my$("btn"),"click",fnName);