從 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>
對原始函數的改進:
以上是如何在 JavaScript 中從 DOM 元素產生更準確的 CSS 路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!