Skip to content

Instantly share code, notes, and snippets.

@sebjwallace
Last active May 9, 2017 09:21
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sebjwallace/3c0a6f7493ce23134516 to your computer and use it in GitHub Desktop.
Save sebjwallace/3c0a6f7493ce23134516 to your computer and use it in GitHub Desktop.
pathfinder - get element path in the dom, similar to xpath
// #document/HTML/BODY/BODY/DIV/DIV
var getElementPath = function(el){
var path = el.nodeName;
var parent = el.parentNode;
while(parent){
path = parent.nodeName + '/' + path;
parent = parent.parentNode;
}
return path;
}
// #document[0]/HTML[1]/BODY[root]/BODY[0]/DIV[0]/DIV
var getElementPath = function(el){
let path = el.nodeName;
let current = el;
let parent = el.parentNode;
while(parent){
for(var child in parent.children){
if(parent.children[child] == current)
path = parent.nodeName + '[' + child + ']' + '/' + path;
}
current = parent;
parent = parent.parentNode;
}
return path;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment