去年在SF的DevDays中(在jQuery 1.4发布之前),我认为他们提到了1.4中即将推出的功能,它允许你在链中引用当前的jQuery对象。我已经阅读了所有1.4改进,但未能找到它。有谁知道如何做到这一点?
示例
当使用与当前对象相关的方法(如.next())时,能够访问当前jQuery对象会很有帮助:
// Current way
var items = $(this).closest('tr');
items = items.add(items.next(':not([id])'));
// Magical 1.4 way? Is there a "chain"-like object?
var items = $(this).closest('tr')
.add(chain.next(':not([id])'));
答案 0 :(得分:4)
我认为这是最接近的,使用.andSelf()
:
var items = $(this).closest('tr').next(':not([id])').andSelf();
这转到.next()
调用,但随后将tr
添加回来。一切都在链条发生的环境中,因此要么跳转以添加元素,要么存储原始引用,就像当前可用的那样。这些是跳跃的有用功能:http://api.jquery.com/category/traversing/miscellaneous-traversal/
John Resig posted this concept a while back,但据我所知,没有什么比这更接近jQuery的核心了。但是,如果需要,您可以使用博客上发布的代码。
答案 1 :(得分:1)
可能andSelf()
http://api.jquery.com/andSelf/
这将返回先前的选择,但您必须在所有内容上使用:not([id])..