js获取被点击元素dom定位路径
时间: 2023-11-26 11:03:41 浏览: 30
可以使用以下代码获取被点击元素的 DOM 定位路径:
```javascript
function getDomPath(el) {
var stack = [];
while ( el.parentNode != null ) {
var sibCount = 0;
var sibIndex = 0;
for ( var i = 0; i < el.parentNode.childNodes.length; i++ ) {
var sib = el.parentNode.childNodes[i];
if ( sib.nodeName == el.nodeName ) {
if ( sib === el ) {
sibIndex = sibCount;
}
sibCount++;
}
}
if ( el.hasAttribute('id') && el.id != '' ) {
stack.unshift(el.nodeName.toLowerCase() + '#' + el.id);
} else if ( sibCount > 1 ) {
stack.unshift(el.nodeName.toLowerCase() + ':eq(' + sibIndex + ')');
} else {
stack.unshift(el.nodeName.toLowerCase());
}
el = el.parentNode;
}
return stack.slice(1); // remove the html element
}
```
使用方法如下:
```javascript
document.addEventListener('click', function(e) {
var path = getDomPath(e.target).join(' > ');
console.log(path);
});
```
当用户点击任何元素时,该元素的 DOM 定位路径就会在控制台中输出。