jQuery 链接:所有东西都可以链接吗?什么时候可以不上链呢?
我知道并非所有 jQuery 函数都可以链接在一起。这方面有没有经验法则。我们什么时候不能将两个函数链接在一起。
I know that not all jQuery functions can be chained together. Is there a rule of thumb on this. When can we not chain 2 functions together.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
当函数返回“jQuery 对象”时,您可以链接。
例如,
.css(property, value)
可以链接,正如文档所说,它返回 jQuery:而
.height()
不能,因为它返回一个整数。通常,返回“jQuery 对象”的函数通常不会“返回值”,例如 setter 方法 (
.css(prop, val)
、.addClass()
)、事件绑定器 (.click(handler)
) 等 (当然,遍历方法(
.parent()
、.find()
等)也可以链接,但返回的对象将与输入不同。)You can chain when the function returns a "jQuery object".
For example,
.css(property, value)
can be chained, as the doc says it Returns jQuery:while
.height()
cannot, because it returns an integer.Typically, the functions that returns "jQuery objects" are those which typically would not "return a value", e.g. setter methods (
.css(prop, val)
,.addClass()
), event binders (.click(handler)
), etc.(Of course traverse methods (
.parent()
,.find()
, etc.) can also be chained but the returned object will be different from the input.)您不能链接返回 jQuery 对象以外的内容的函数。例如,
attr()
使用一个参数来获取属性的值。You can't chain a function that returns something other than a jQuery object. For example,
attr()
with one parameter to get the value of an attribute.区分的方法是,具有副作用的函数通常返回 jquery,并且可以链接到具有实际返回值的函数(例如
.text()
)不能链接的地方。The way to distinguish is that functions which have side effects typically return jquery and can be chained where as functions with an actual return (like
.text()
) cannot.如果在插件中他们这样做:
最后你可以用其他插件更改它:-)
if in the plugin they do:
at the end then u can change it with other plugins :-)