Я получил эту функцию, чтобы получить cssPath:
var cssPath = function (el) {
var path = [];
while (
(el.nodeName.toLowerCase() != 'html') &&
(el = el.parentNode) &&
path.unshift(el.nodeName.toLowerCase() +
(el.id ? '#' + el.id : '') +
(el.className ? '.' + el.className.replace(/\s+/g, ".") : ''))
);
return path.join(" > ");
}
console.log(cssPath(document.getElementsByTagName('a')[123]));
Но у меня есть что-то вроде этого:
html > body > div#div-id > div.site > div.clearfix > ul.choices > li
Но, чтобы быть абсолютно прав, он должен выглядеть так:
html > body > div#div-id > div.site:nth-child(1) > div.clearfix > ul.choices > li:nth-child(5)
У кого-то есть идея реализовать его просто в javascript?