Skip to content

Instantly share code, notes, and snippets.

@Gufran
Created April 7, 2013 13:44
Show Gist options
  • Save Gufran/5330550 to your computer and use it in GitHub Desktop.
Save Gufran/5330550 to your computer and use it in GitHub Desktop.
[jQuery] Trace path to a node
(function( $ ){
jQuery.fn.trace = function () {
if (this.length != 1)
return '';
var path, node = this;
while (node.length) {
var realNode = node[0], name = realNode.localName;
if (!name) break;
name = name.toLowerCase();
if (realNode.id) {
return name + '#' + realNode.id + (path ? '>' + path : '');
} else if (realNode.className) {
name += '.' + realNode.className.split(/\s+/).join('.');
}
var parent = node.parent(), siblings = parent.children(name);
if (siblings.length > 1) name += ':eq(' + siblings.index(node) + ')';
path = name + (path ? '>' + path : '');
node = parent;
}
return path;
};
})( jQuery );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment