2010-07-02 104 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