从 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中文网其他相关文章!