在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});
});
答案 0 :(得分:1)
这是可行的/允许的,但不推荐。没有什么可以说jquery在将来的某个时刻不会突然决定添加.star
属性。
如果您需要将自己的数据附加到dom元素,请改用someelement.data(key, val)
,这会将您的数据添加到一个方法中,保证不会与以后对DOM规范的任何更改发生冲突。
答案 1 :(得分:1)
可以像你说的那样存储对象,但我相信本教程会创建一些循环引用(JS-> DOM-> JS),这很糟糕。他们应该使用jQuery的.data()函数来避免循环引用,这会导致内存泄漏。