Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. function getDomPath(el) {
  2. var stack = [];
  3. while ( el.parentNode != null ) {
  4. console.log(el.nodeName);
  5. var sibCount = 0;
  6. var sibIndex = 0;
  7. for ( var i = 0; i < el.parentNode.childNodes.length; i++ ) {
  8. var sib = el.parentNode.childNodes[i];
  9. if ( sib.nodeName == el.nodeName ) {
  10. if ( sib === el ) {
  11. sibIndex = sibCount;
  12. }
  13. sibCount++;
  14. }
  15. }
  16. if ( el.hasAttribute('id') && el.id != '' ) {
  17. stack.unshift(el.nodeName.toLowerCase() + '#' + el.id);
  18. } else if ( sibCount > 1 ) {
  19. stack.unshift(el.nodeName.toLowerCase() + ':eq(' + sibIndex + ')');
  20. } else {
  21. stack.unshift(el.nodeName.toLowerCase());
  22. }
  23. el = el.parentNode;
  24. }
  25. return stack.slice(1); // removes the html element
  26. }
  27.  
  28. //Usage:
  29. var path = getDomPath(document.querySelector('#main_passwd'));
  30. console.log("document.querySelector('",path.join(' > '),"');");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement