如何判斷一個元素是否高於另一個元素(如計算完所有z索引後)與querySelectorAll的結果。如何判斷一個元素是否高於另一個來自querySelectorAll的結果
0
A
回答
1
不要以爲有一個簡單的解決方案,因爲在那裏是一個瀏覽器API,你可以打電話並獲得元素「z高度」。
您可以像渲染引擎工作的方式類似地處理此問題,其中基於DOM樹深度的堆疊元素位於另一個之上。然後還有CSS引擎,它根據標籤類型和CSS中的特殊規則(如z-index
,特殊位置屬性(relative
,absolute
等),甚至CSS「怪癖」)更改元素位置,例如z-index
+ opacity
更改方式元素被堆疊。
根據您的目標,您可以簡化解析並忽略CSS正在做什麼,只考慮HTML。在那裏你有DOM API,這使得遍歷樹結構變得非常容易,DOM渲染引擎將處理所有錯誤但仍然工作的標記。
-1
如果你可以使用jQuery,檢查
$(element).css("z-index");
相關問題
- 1. 如何判斷一個類是否來自另一個類
- 2. 如何判斷元素是否位於DOM中的另一個元素之前
- 3. 判斷一個元素是否在列表中的另一個元素之後
- 4. 如何判斷一個元素是否是JavaScript中另一個元素的子元素(沒有jQuery)?
- 5. 如何判斷一個div標籤/元素是否超過另一個?
- 6. 如何判斷一個元素是否屬於Prolog中的一個列表?
- 7. 如何判斷一個元素是否是jquery-ui小部件?
- 8. 監聽器來判斷一個表是否有元素
- 9. 如何判斷密碼是否等於另一個密碼?
- 10. 如何判斷一個元素是否存在角度?
- 11. 如何判斷元素是否是javascript/jquery中父元素的最後一個或第一個子元素?
- 12. 如何判斷一個控件是否來自MasterPage
- 13. 如何判斷一個元素是否屬於Prolog中特定的b-Tree?
- 14. 判斷一個字符串是否是另一個子字符
- 15. javascript如何判斷一個數字是否是另一個數字的倍數
- 16. 如何判斷一個TClass是否是從另一個TClass派生的?
- 17. 如何判斷一個區域是否屬於某個形狀?
- 18. 如何判斷一個JSON對象是否是一個數組?
- 19. 如何判斷一個函數是否是一個類?
- 20. 如何檢查查詢的結果是否等於來自SQL中另一個查詢的結果之一?
- 21. 如何判斷DatagridView的第一個單元是否爲空?
- 22. 算法來判斷一個點是否在一個區域內
- 23. 如何判斷陣列是否包含另一個陣列
- 24. Javascript:如何判斷一個節點對象是否已經插入文檔/另一個元素
- 25. 判斷一個對象是否存在於一個集合中
- 26. 如何找到一個小於另一個元素的元素?
- 27. 如何判斷多個getView結果中的哪一個可見?
- 28. 如何判斷一個過程是否已經結束?
- 29. Android Studio元素高於另一個
- 30. 如何判斷一個單元格是否爲#NAME?
不要認爲有一個簡單的解決方案或一些瀏覽器API可以使用。您可能必須編寫與渲染引擎相同的邏輯,因此請考慮z-index(以及隨附的規則),然後再考慮html元素的順序和結構。你甚至想要完成什麼? –
您可以使用https://stackoverflow.com/questions/18780139/how-to-get-bounding-box-for-div-element-in-jquery進行操作,並檢查是否有任何選定項目的邊界盒相交。這不會給你的命令,但你可以消除那些甚至不是彼此靠近的命令。這是一些2D遊戲的工作原理,因此搜索包圍盒可能會得到一些與遊戲相關的結果。 – jedifans
@MarkoGrešak你認爲我可以逃脫只使用樹的深度? – SuperUberDuper