使jQuery的.prev().prev().prev().find("selector")调用更容易

bub*_*ina 11 jquery

我该如何避免.prev().prev().prev()通话?这有什么捷径吗?

Yi *_*ang 23

您可以使用.prevAll,结合eq或者:eq,因为prevAll返回一组元素以相反的顺序开始,这是最接近当前元素作为元素[0],相当于.prev().prev().prev().prevAll().eq(2).prevAll(':eq(2)').

看到这个简单的演示:http://www.jsfiddle.net/QZYHN/


ale*_*lex 6

你可以prevAll()使用选择器.

$('div').prevAll('a:last')
Run Code Online (Sandbox Code Playgroud)


a'r*_*a'r 2

尝试closest搜索与选择器匹配的最近的祖先。例如。

$(this).closest('table').find('selector')
Run Code Online (Sandbox Code Playgroud)

编辑:在末尾添加 find()

  • `prev` 不会向上查找,这实际上并不相同。 (4认同)