在我的应用程序中,我有许多保存在内存中的jQuery对象。也就是说,它们不会被另一个选择器搜索重新生成。此外,它们是模块的本地。
const jQthing = $('#thing');
有没有理由不向此对象添加自定义属性?
jQthing.title = 'All Things';
我知道我可以使用数据字典,但这看起来有点笨拙,尤其如此 检索方法时。这会是一个糟糕的设计还是糟糕的风格?
由于
答案 0 :(得分:1)
你绝对可以这样做,但你只需要注意你添加的属性不会与jquery对象所具有的任何属性或函数冲突。这就是我不推荐的原因。
相反,你可能会更好地将jquery对象包装在一个对象中,然后从中创建自己的属性。因此,例如下面的内容可以做你想要的,并避免任何可能的碰撞。
var objectWrapper = {
jQthing: $('#thing'),
title: 'All Things'
}
现在您可以像objectWrapper.jQthing.fadeIn()
或objectWrapper.title
一样使用它,不用担心。