回答
你可以嘗試使用未功能:
$('*').not($('#ancestorID').find('*'));
注意,這將是非常緩慢。
+1了一種直列選擇器。 – Blender 2012-08-15 19:47:40
任何方式來加速? – user730569 2012-08-15 19:54:39
@ user730569我認爲你必須重新考慮你的設計。不管你做什麼,這將遍歷整個DOM兩次。 – jbabey 2012-08-15 20:02:05
使用.filter()
:
$('*').filter(function() {
return $(this).parents('svg').length == 0;
});
另外,我覺得有document.getElementsByTagName('*')
更換了jQuery *
選擇可能會給你一個速度提升。
+1良好的過濾器使用情況。 – jbabey 2012-08-15 19:47:17
你會如何使用它與純JavaScript的速度提升? – user730569 2012-08-15 19:55:14
$('*').not('svg *');
- 1. 獲取沒有特定祖先的節點xml xpath
- 2. 「所選節點沒有表單祖先」
- 3. 獲取匹配節點的所有祖先或後代
- 4. 獲取祖先節點+的XQuery-SQL
- 5. 隔離特定節點和祖先
- 6. 搜索XML節點的所有子節點的值,並移除祖父節點
- 7. 如何從特定節點獲取樹祖先列表?
- 8. xslt匹配除特定節點以外的所有節點
- 9. Java 8 Stream API:獲得特定節點後的所有節點
- 10. 獲取只有一個祖先節點的值
- 11. 節點集()是否有一個祖先節點?
- 12. 的XPath:獲取某些節點和祖先
- 13. 解析樹知道所有父節點和葉節點的祖先
- 14. 獲取所有節點
- 15. Neo4J匹配具有特定值的所有節點的節點
- 16. domXpath得到祖先節點
- 17. 多次查找XML中的特定節點並獲取所有節點的值
- 18. 獲取相關的特定節點的所有節點,但不是另一個
- 19. 獲取所有節點在樹上
- 20. 獲取所有沒有特定關係的節點
- 21. 獲取Neo4j中沒有特定關係的所有節點
- 22. 如何獲取具有特定值的所有節點?
- 23. 使用lxml查找所有xml節點python的祖先
- 24. 在C#treeview中展開特定節點的所有父節點
- 25. 從xml中刪除所有節點,使用XSLT排除特定節點
- 26. 返回所有未連接的節點或節點那些程度超過2
- 27. 找到特定節點的所有子節點,直到葉節點
- 28. XML - 獲取特定節點
- 29. 獲取當前節點的所有子節點的值
- 30. 從Umbraco的子節點獲取所有根節點的列表
http://api.jquery.com/filter或http://api.jquery.com/not – nbrooks 2012-08-15 19:45:53