一旦你指定一个选择器, 你就能调用它的方法。 这些方法通常带来两种不同的口味: getters 和 setters. Getters 返回第一个选择元素的属性;setters 设置所有选择元素为同一属性。
如果你调用一个选择器方法,其方法返回一个 jQuery 对象,你能继续调用这个对象的 jQuery 方法而不用处理分号。
如果你要写个chain包含多个步骤,如果你以多行的方式处理 chain,那么你(和之后进来的人)可能会发现你的代码更具可读性。
如果你在链中修改你的选择器,jQuery 提供了 $.fn.end
方法帮你返回到你原来的选择器。
Example 3.15. 使用
$.fn.end
恢复你原来的选择器
$('#content') .find('h3') .eq(2) .html('new text for the third h3!') .end() // 恢复选择器到 #content 中的所有 h3 部分 restores the selection to all h3's in #content .eq(0) .html('new text for the first h3!');
链式是非常强大的,自从它随着 jQuery 流行起来后众多 JavaScript 库都加入了此功能。 然而,它必须被小心使用。大量的链式处理会给代码的修改和调试带来更大的困难。这里没有链要保持多久所必须遵守的规则 -- 仅仅知道它是比较容易被搬运的。
jQuery “overloads”(重载) 它的方法, 此方法被用于设置值或取得一个值 so the method used to set a value generally has the same name as the method used to get a value. 当方法被用于设置值时, 它将调用一次 setter. 当方法被用于取得(或读取)值时, 它将调用一次 getter. Setters 作用于选择器里的所有元素; getters 将取得选择器匹配的第一个元素。
Setters 返回一个 jQuery 对象, 允许你在选择器中继续调用 jQuery 方法; getters 返回它们想要的 ,这意味着你不能在使用 getter 的返回值中继续调用 jQuery 方法。
Copyright Rebecca Murphey, released under the Creative Commons Attribution-Share Alike 3.0 United States license.