为什么他们使用引用而不是jQuery对象?

时间:2011-08-05 20:35:19

标签: javascript jquery

this教程中,他们使用containerElement.rating和starElement.rating来存储评级。

问题是:为什么?是否有可能使用jQuery对象容器和明星像

container.rating和star.rating ??

在他们的例子中,它是如何工作的:

star.click(function() {

        containerElement.rating = this.rating;//What does 'this' refer to?? Star or starElement??

        elements.triggerHandler("ratingchanged", {rating: this.rating});
      });

2 个答案:

答案 0 :(得分:1)

这是可行的/允许的,但不推荐。没有什么可以说jquery在将来的某个时刻不会突然决定添加.star属性。

如果您需要将自己的数据附加到dom元素,请改用someelement.data(key, val),这会将您的数据添加到一个方法中,保证不会与以后对DOM规范的任何更改发生冲突。

答案 1 :(得分:1)

可以像你说的那样存储对象,但我相信本教程会创建一些循环引用(JS-> DOM-> JS),这很糟糕。他们应该使用jQuery的.data()函数来避免循环引用,这会导致内存泄漏。