我希望在每个html元素上面添加一些方法,便如
HTMLElement.prototype.addClass = function(classname){
this.className += " " + classname;
};
但是在IE6下该途径无效,是否有好的解决方案?我希望我的API是这样子的
document.getElementById(id).addClass
document.getElementById(id).firstChild.addClass
document.body.addClass我不喜欢 $(id).addClass
HTMLElement.prototype.addClass = function(classname){
this.className += " " + classname;
};
但是在IE6下该途径无效,是否有好的解决方案?我希望我的API是这样子的
document.getElementById(id).addClass
document.getElementById(id).firstChild.addClass
document.body.addClass我不喜欢 $(id).addClass
this.className += " " + classname;else alert('该对象不是html元素,不支持className属性!')
};
/*判断一个对象是否是html元素*/
function isHtmlControl(obj) {
var d = document.createElement("div");
try{
d.appendChild(obj.cloneNode(true));
return obj.nodeType==1 ? true : false;
}catch(e){
return obj==window || obj==document;
}
}
个人以为如下即可。function isHtmlControl(element){
return element.nodeType === 1;
}