对象不支持mootools中的此属性或方法

时间:2013-03-01 12:41:24

标签: mootools

任何人都能告诉我mootools中的以下行是否正确?:

document.getElementById("step-1").getElements('.saved strong.savTitle').set('html', "Billing");

当我将此行添加到我的jsp时,“对象不支持此属性或方法”js错误即将到来。

1 个答案:

答案 0 :(得分:0)

一些小问题:

mootools中的

document.getElementById('step-1')应该是document.id('step-1') - 两者都返回一个元素,但是mootools也会在旧的IE中安装原型方法,这些方法不会继承Element原型,而是设置元素uid和Storage。

如果在IE6,7和8中没有这样做,这将产生您要发布的错误。

第二

当你收到这个错误时,你真的需要打破你所做的调用,看看它在调试失败的链中的哪个位置。我建议将引用保存到var中并在之后应用该方法。

第三

您正在获取多个元素并在集合上调用.set() - MooTools将通过each循环自动应用于每个成员。如果你必须对一个集合使用链接并且它不止一个动作,你应该自己做.each以避免多次重复。

最后

您可以将其锚定在一个选择器中:

document.getElements('#step-1 .saved strong.savTitle').set('html', 'hai'); 
$$('#step-1 .saved strong.savTitle').set('html', 'hai'); // also same.

这将在使用QSA的浏览器中运行得最快。