मैं इस समारोह मिला एक 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)
क्या किसी को जावास्क्रिप्ट में इसे लागू करने का कोई विचार है?
यह शायद होना चाहिए ': eq (1)' या ': n वें वाले बच्चे (2)' बजाय '[1 ] 'अगर आप एक सीएसएस चयनकर्ता चाहते हैं। –
या सिर्फ तत्व को जावास्क्रिप्ट के साथ एक अद्वितीय आईडी दें? मैं देख सकता हूं कि क्यों सीएसएसपाथ फ़ायरबग प्लगइन या कुछ के रूप में उपयोगी हो सकता है, लेकिन नियमित कोड के लिए, आईडी शुरू करना सबसे प्रभावी है। – BGerrissen
असल में, मुझे विश्वास है कि एक फायरबग प्लगइन है जो फ़ायरफ़िंडर नामक तत्व से सीएसएसपाथ प्राप्त करता है; ओपी – BGerrissen