使jQuery的.prev()。prev()。prev()。find(“selector”)调用更容易

时间:2011-02-07 12:25:54

标签: jquery

如何避免.prev().prev().prev()来电?这有什么捷径吗?

4 个答案:

答案 0 :(得分:23)

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

请参阅此简单演示:http://www.jsfiddle.net/QZYHN/

答案 1 :(得分:6)

您可以使用选择器执行prevAll()

$('div').prevAll('a:last')

答案 2 :(得分:1)

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

$(this).closest('table').find('selector')

修改:在最后添加了find()

答案 3 :(得分:-1)

在jquery中查看nth-child,可能会有所帮助......