所以我对MOO工具非常陌生,每次使用函数,比如hasClass或removeClass,我都会收到一个类型错误。我几乎没有使用MOO工具的经验,完全不知所措。我查看了文档,语法是正确的。
下面是代码,错误发生在第354行:"TypeError: li.removeClass不是函数“http://pastebin.com/G63003DG
我签了moo工具文档,removeClass的语法也很好。运行最新版本的moo工具。
发布于 2014-01-10 22:15:15
一般来说,这意味着您试图在一个不是MooTools扩展的DOM对象上使用这个函数。
几乎任何时候,当您从MooTools获得DOM对象时,都会在得到DOM对象之前对其进行扩展。对于MooTools可以扩展DOM元素原型的任何浏览器也是如此。但是早期版本的IE (IE8和更早版本)没有HTML原型,因此MooTools不能扩展原型,每个元素都必须手动扩展。如果您直接从DOM属性(firstChild,nextSibling,.)获得一个元素,除非它之前已经进行了扩展,否则它还不会有MooTools的扩展。要扩展它,通过$()函数传递它:
$(li).removeClass("the-class");同样,这基本上只出现在IE8 (仍然广泛使用)和更早的时候,因为MooTools可以在其他浏览器上扩展HTML元素的原型;但是早期版本的IE不提供元素原型,因此元素必须逐元素扩展。
下面是一个在IE8中失败的例子:活拷贝 \ 活源
var li = document.getElementById('theitem');
li.onclick = function() {
li.addClass('myClass');
};还有一个在IE8中工作的例子(唯一的改变是li => $(li)):活拷贝 \\ 活源
var li = document.getElementById('theitem');
li.onclick = function() {
$(li).addClass('myClass');
};https://stackoverflow.com/questions/21055351
复制相似问题