如果你缓存一个 var:
var something = $('#something');
我已经看到后来被用作:
$(something).doAction();
something.doAction();
两者使用有区别吗?我已经开始使用 something.doAction() ,因为它看起来更干净、更易于阅读。但我想知道这是否会导致任何问题?
如果你缓存一个 var:
var something = $('#something');
我已经看到后来被用作:
$(something).doAction();
something.doAction();
两者使用有区别吗?我已经开始使用 something.doAction() ,因为它看起来更干净、更易于阅读。但我想知道这是否会导致任何问题?
$(...)
返回一个 jQuery 对象。
如果您将 jQuery 对象放入变量中,当您稍后检查它时,该变量仍将包含一个 jQuery 对象,就像您可能放入变量中的任何其他内容一样。
没有神奇的小精灵会来摆脱你背后的 jQuery 对象。
(除非你不小心把别的东西放在变量的别处)
这与 jQuery 无关。这只是Javascript的基础。
var x = foo();
x.something();
当然是一样的foo().something()
。去学习编程或 Javascript,直到这有意义。
只需持有这个 jquery 对象以供以后使用或避免重复。
var $button = $('#button');
$button.click(function(){
//some code here
});
//now applying some style to it
$button.css({color:"#ccc",background:"#333"});
或者可以替换为
var $button = $('#button').css({color:"#ccc",background:"#333"});
$button.click(function(){
//some code here
});
或者
$('#button').css({color:"#ccc",background:"#333"}).click(function(){
//some code here
});;
更新:
有时,如果您查找按钮,jquery 将返回按钮,而不是对象,以便编辑或执行某些操作,您将其作为参数传递给 jquery 构造函数。
这里举个小例子。您只是在寻找按钮,jquery 返回该按钮,但如果您需要应用一些样式、事件等,则需要将其作为参数传递给 jquery 构造函数($ or jQuery)
。 而这里另一个没有不起作用的构造函数
something
是一个 jQuery 对象,不需要将它放在带有美元符号的括号中,如下所示: $(something)
jQuery 选择器返回 jQuery 对象,这里就是这种情况$('#something')
。
好的命名习惯是将某些东西命名为 $something,这样您就知道该变量包含 jQuery 对象。
也很好地使用 $(..) 示例,将 html 包装为字符串以获取 jQuery 对象,如下所示:
$divObject = $('<div>Some text</div>');
$divObject.text(); // value is 'Some text'