我想使用纯 JavaScript 复制 jQuery 的 addClass 函数 到目前为止,我已经实现了这个功能:
function addClass(el,cl){
el.className+=(el.className?' ':'')+cl
}
它运行良好,但它使用以下语法:
addClass(element,class)
我希望它使用以下语法:
element.addClass(class)
我怎样才能做到这一点?
谢谢:)
最佳答案
当 element 是所有浏览器中的 DOM 元素(不是您自己的对象,如 jQuery 对象)时,没有完全安全的方法使 element.addClass()
对所有元素起作用。一些框架过去已经这样做了,但它们遇到了足够多的问题,以至于有些框架正在放弃这样做。我不建议这样做。
您不从事浏览器兼容性或框架创建业务(您不想这样做),因此即使扩展 DOM 对象看起来更干净,我也不会推荐它。 jQuery 和 YUI 不这样做。他们创建一个包含方法和 DOM 元素引用的包装对象。
如果您想了解一些危险,这里有一个关于该主题的很好的引用:What's wrong with Extending the DOM? .
关于javascript - 需要帮助复制 jQuery 的 addClass 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9550263/