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 중국어 웹사이트의 기타 관련 기사를 참조하세요!