为jQuery对象添加自定义属性

augmenting a jQuery object with custom properties

本文关键字:自定义属性 添加 对象 jQuery      更新时间:2023-09-26

在我的应用程序中,我有一些jQuery对象保存在内存中。也就是说,它们不会被另一个选择器搜索重新生成。而且,它们是模块本地的。

const jQthing = $('#thing'); 

是否有任何理由不向该对象添加自定义属性?

jQthing.title = 'All Things';

我知道我可以使用数据字典,但这看起来有点笨拙,尤其是检索方法时。这是一个糟糕的设计,还是糟糕的风格?

谢谢

您当然可以这样做,但是您只需要注意添加的属性不会与jquery对象的任何属性或函数发生冲突。这就是为什么我不建议那样做。

相反,您可能会更好地将jquery对象包装在一个对象中,然后从中创建自己的属性。例如,下面的代码可以满足你的要求,并且可以避免任何可能的碰撞。

var objectWrapper = {
    jQthing: $('#thing'),
    title: 'All Things'
}

现在你可以像这样使用objectWrapper.jQthing.fadeIn()objectWrapper.title,不用担心。