0
我正在嘗試編寫一些動態代碼,並且我無法確定我之後的元素是兄弟姐妹還是兄弟姐妹的孩子。 我只有一個類,並且必須在元素後面搜索具有此類的第一個元素。 例如:獲取某個元素之後的所有元素,包括其子元素
<something class='EitherMe'/>
<table>
<thead class = 'EitherMe'></thead>
<tbody>
<tr class = 'selectAfterThis'><td></td></tr>
.
.
.
</tbody>
<tfoot class ='EitherMe'>
<tr></tr>
<tr class='OrMe'></tr>
</tfoot>
</table>
<something class='OrMe'/>
我會得到「EitherMe」或者根據用戶的需要「奧瑪」。我需要精確選擇那個在'selectAfterThis'之後出現的元素。
nextAll()不起作用。因爲它只能得到兄弟姐妹。 有沒有辦法做到這一點?
更新:我把thead放在上面的例子中,因爲大多數建議都是通過父項。我不知道是否沒有高一級的元素。 我可以通過限制班級的確切位置來限制我的插件,但如果可能,我想避免這種情況。我只需要帶有指定類的元素,它位於'selectAfterThis'下面,不管它是在他的下面,還是遠遠在他的下面,或者它與'selectAfterThis'的父子關係並不重要
更新3:這是我寫的一個迷你插件,來自於wirey的回答。希望它能幫助像我這樣的問題的其他人:http://jsfiddle.net/jTLt2/4/。所有的積分都會變得有些費解。我只做了一些修改,使其不僅僅是父母兄弟姐妹和父母兄弟姐妹的孩子。
請讓我知道,如果你測試它。我想知道,如果它的工作原理100%
下面的代碼:
(function($){
$.fn.nextInView = function(selector)
{
var ret = this.nextAll(selector);
for(var i = 0;this.parents().eq(i).find('body').length < 1 ;i++){
ret = ret.add(this.parents().eq(i).nextAll(selector));
ret = ret.add(this.parents().eq(i).nextAll().find(selector));
}
return ret.first();
}
})(jQuery)
哪裏是起點?什麼是上下文? –
讓我做一個更新,如果可能的話,我想避免通過父母。因爲在上面的例子中,例如中可能存在另一個具有該類的元素。儘管機會很渺茫。 – Nogitsune
+0
A
1
+0
+0
+0
相關問題
-
1. jQuery獲取下一個元素及其所有子元素
-
2. 返回全文元素(包括子元素/後代元素)
-
3. 檢索一個元素的所有文本,包括其python中的子元素
-
4. 需要在特定元素之後獲取所有元素
-
5. 在使用jQuery的某個元素之後使用div包裝所有元素
-
6. 如何在某個元素之後包裝div中的所有元素? (jQuery)
-
7. 獲取陣列中兩個元素之間的所有元素
-
8. 在另一個元素的子元素之後插入元素
-
9. 獲取一個元素的所有父母,包括元素本身
-
10. 獲取下一個x元素,包括特定的元素?
-
11. 子元素在其他元素之上
-
12. 獲取某個元素的子元素的標題
-
13. Mongoose獲取某個元素後的數組中的元素
-
14. 在Beautifulsoup4,獲取元素的所有子元素,而不是子元素的子元素
-
15. jQuery:獲取所有包含文本的元素,因爲它是直接的子元素,包括後代?
-
16. 獲取其他元素內的元素
-
17. JavaScript Elementtree獲取特定元素之間的所有元素
-
18. 包裝兩個父元素之間的所有元素
-
19. 選擇除元素第一個元素之外的所有子元素
-
20. 遍歷所有的DOM元素,包括添加的元素
-
21. 如何獲取cElementTree中元素的所有文本子元素?
-
22. 獲取textareas元素的所有子元素?
-
23. 使用jQuery獲取元素的所有直接子元素
-
24. jQuery:刪除前n個元素之後的所有元素?
-
25. SQL:獲取元素的子元素
-
26. 獲取元素的jQuery的指標 - 只包括某些類型的元素
-
27. 獲取子元素不是具有某個CSS類的容器的子元素
-
28. 選擇包含某個linkText的元素之前的元素
-
29. 向父元素添加一個子元素,當父元素具有某個具有某個值的某個屬性的其他子元素時
-
30. CSS:選擇一個元素及其所有子元素
最新問題
-
1. FIFO與/ dev/urandom
-
2. 將劇情保存爲EMF文件
-
3. 如何從SNMP MIB獲取ifOperStatus?
-
4. 在同一個表列中選擇重複的記錄並將它們列出
-
5. 如何傳遞一個變量在web API
-
6. LendingClub.com API內部服務器在二級市場上購買票據的錯誤
-
7. TCP/IP數據包中的端口號
-
8. 模擬Angular 2中的長響應
-
9. 如何在QSplitter中設置QTreeView的初始大小?
-
10. 打印響應部分完成Python的異步事件循環,同時還完成任務的響應
-
1. jQuery獲取下一個元素及其所有子元素
-
2. 返回全文元素(包括子元素/後代元素)
-
3. 檢索一個元素的所有文本,包括其python中的子元素
-
4. 需要在特定元素之後獲取所有元素
-
5. 在使用jQuery的某個元素之後使用div包裝所有元素
-
6. 如何在某個元素之後包裝div中的所有元素? (jQuery)
-
7. 獲取陣列中兩個元素之間的所有元素
-
8. 在另一個元素的子元素之後插入元素
-
9. 獲取一個元素的所有父母,包括元素本身
-
10. 獲取下一個x元素,包括特定的元素?
好吧..但你想要找到的第一個元素是在之後而不是在之前?並且你父母的兄弟元素中還有那些類? –
回答
需要分別將它們添加到一個集合..然後得到的第一個從集合中找到最接近的一個
http://jsfiddle.net/fRq4z/
來源
2012-12-12 20:10:55
謝謝。我認爲這是我需要的。 – Nogitsune
@ user1733078您的歡迎。希望有一個更簡單的方法:P ..如果我想到一個我會更新我的答案爲你 –
關於最後一行。 「得到父母兄弟姐妹匹配的後代」我不太明白......你能解釋一下嗎? – Nogitsune
相關問題