具体来说,我想覆盖getElementsByClassName
除 IE 之外的每个浏览器中可用的功能。IE 使用 aquerySelectorAll
代替。
Element.prototype.getElementsByClassName = function(className) {
if(document.getElementsByClassName) {
return this.getElementsByClassName(className);
} else if(document.querySelectorAll) {
return this.querySelectorAll(className);
}
};
但是在 Firefox 中运行代码时,它会使用原生函数。如果 getElementsByClassName 不可用,这仍然可以用作跨浏览器解决方案并使用我的原型,还是有办法覆盖本机函数以便每次都使用我的代码?我可以将原型命名为类似的名称,但为了便于阅读,id 更喜欢保持相同的名称。