如何在 JavaScript 中從 DOM 元素產生更準確的 CSS 路徑?
從 DOM 元素中建立準確的 CSS 路徑
在 JavaScript 中,從 DOM 元素中建立 CSS 路徑是一項常見任務。為了解決這個問題,存在一個流行的函數 cssPath。然而,它經常產生缺乏重要細節的路徑,例如第 n 個子選擇器。
提供的程式碼提供了解決方案:
<code class="js">var cssPath = function(el) { if (!(el instanceof Element)) return; var path = []; while (el.nodeType === Node.ELEMENT_NODE) { var selector = el.nodeName.toLowerCase(); if (el.id) { selector += '#' + el.id; path.unshift(selector); break; } else { var sib = el, nth = 1; while (sib = sib.previousElementSibling) { if (sib.nodeName.toLowerCase() == selector) nth++; } if (nth != 1) selector += ":nth-of-type(" + nth + ")"; } path.unshift(selector); el = el.parentNode; } return path.join(" > "); };</code>
登入後複製
對原始函數的改進:
- 避免過早過早退出:原函數遇到非元素節點時停止,導致路徑不正確。改進後的版本繼續遍歷以提高準確性。
- 強調清晰度:透過使用 nth-of-type() 選擇器而不是通用的 :nth-child(),產生的路徑變成更精確且易於閱讀。
- 在具有ID 的祖先元素處停止: 改進後的函數在遇到具有指定ID 的第一個祖先元素時停止,從而簡化了路徑並增強了其可讀性。
以上是如何在 JavaScript 中從 DOM 元素產生更準確的 CSS 路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
如何修復KB5055612無法在Windows 10中安裝?
4 週前
By DDD
<🎜>:種植花園 - 完整的突變指南
3 週前
By DDD
<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在本週的平台新聞綜述中,Chrome引入了一個用於加載的新屬性,Web開發人員的可訪問性規範以及BBC Move

有很多分析平台可幫助您跟踪網站上的訪問者和使用數據。也許最著名的是Google Analytics(廣泛使用)
