2010-07-02 72 views
0

我正在使用jQuery来操纵表中配对的表行。我试图从我以前的jQuery找到的项目中选择行,如果行包含可见图像,我需要该行它是下一个兄弟。我可以用得到该行:如何选择最接近的祖先加上祖先的下一个?

$("img[src*='file.png']:not(:hidden)").closest("tr"); 

因为我的兄弟姐妹一行之后,我也似乎合乎逻辑,我认为下一个选择会工作:

$("img[src*='file.png']:not(:hidden)").closest("tr+next"); 

第一查询产生的第一行对,但第二个查询不返回任何内容。难道我误解的文件 - 我认为选择是:

$("prev+next"); 

显然我似乎失去了一些东西......

回答

1
var temp; 
temp = $('whatever').closest('tr').add(temp.next()) 

而且

var temp = $('whatever').closest('tr'); temp = temp.next().andSelf() 
+0

这确实返回祖先的下一个兄弟姐妹,但不是祖先本身,我需要在一起。 – BenAlabaster 2010-07-02 17:50:35

+0

哦,误读。尝试这个? – 2010-07-02 17:57:14

+0

这可以工作......它似乎有点冗长。但在一个捏,我可能会最终使用这个。它的工作原理是 – BenAlabaster 2010-07-02 18:10:00

0

我没有测试过这个,但是呢? (“img [src * ='file.png']:不是(:hidden)”)。closest(“tr + tr”);

+0

哈哈,不要告诉我我的解释太文字?大声笑......如果是这样,我会去淹死自己:P – BenAlabaster 2010-07-02 18:09:14

+0

嗯,这看起来应该可以工作,但只能看起来返回对中的第一排。 – BenAlabaster 2010-07-02 18:12:08

+0

我认为这是解释为找到最接近的“tr + tr”,当然没有最接近的“tr + tr”,如果没有那个,我想我需要.closest(“tr”)。add($(这个).next())按照@meder的建议 – BenAlabaster 2010-07-02 18:18:54