不知道我是否直接看到有关包装方法的理论

时间:2011-03-06 10:56:54

标签: jquery theory

以下是理论部分的代码

$.fn greenify = function(){
 return this.css ('color','green');
}

所以这可以按如下方式使用

$('#today').greenify();

然后,该理论说:

“包装器方法必须始终返回原始集合,因此return this。这样您就可以在链中使用您的方法。”

对我来说,到目前为止,我看到了一种包装方法,我认为这是一种定位多个HTML元素的方法。它是否只是意味着如果您定位这些元素,您实际上是否可以获得那些有针对性的HTML元素,未经修改?因此,当你说回复这个时,你想确认你确切知道你得到的是什么,所以你知道你在链接时使用的是什么?或者它意味着什么不同?

1 个答案:

答案 0 :(得分:0)

包装器方法基本上意味着

  

对于任何选择器和任何方法   method。 $(s).method()=== $(s)

在你的情况下你想要

$.fn greenify = function(){
 return this.each(function() {
  this.css("color", "green");
 });
}

此处,您的方法会修改集合中每个dom元素的颜色。并且您已经断言this.each作为jQuery对象$(s)上的方法将返回集合$(s),因此您的方法也会返回$(s)

当然,为了简单起见,您的功能也是如此,因为$.fn.css已经过优化,无法在一个集合下工作。为了清楚起见,我们自己调用了$.fn.each而不是$.fn.css为我们调用它。