बिना आइडेंटिटी के मैं सभी tr एलिमेंट्स कैसे प्राप्त कर सकता हूं?
<tr id="name">...</tr>
<tr>...</tr>
<tr>...</tr>
धन्यवाद
जवाबों:
बहुत सीधा:
//tr[not(@id) and not(@class)]
यह आपको सभी tr
तत्वों की कमी id
और class
विशेषताओं दोनों को देगा । यदि आप चाहते हैं कि सभी tr
तत्वों में से किसी एक की कमी हो, तो or
इसके बजाय उपयोग करें and
:
//tr[not(@id) or not(@class)]
जब विशेषताओं और तत्वों का उपयोग इस तरह से किया जाता है, यदि विशेषता या तत्व का कोई मूल्य होता है तो इसे मान लिया जाता है जैसे कि यह सत्य है। यदि यह गायब है तो यह माना जाता है कि यह गलत है।
यदि आप एक ऐसे तत्व की तलाश कर रहे हैं जिसमें वर्ग है, a
लेकिन वर्ग नहीं है b
, तो आप निम्न कार्य कर सकते हैं।
//*[contains(@class, 'a') and not(contains(@class, 'b'))]
या यदि आप आंशिक मिलान नहीं करना चाहते हैं।
//*[contains(concat(' ', normalize-space(@class), ' '), ' some-class ') and
not(contains(concat(' ', normalize-space(@class), ' '), ' another-class '))]
क्या आप इसे आजमा सकते है //tr[not(@id)]?
if (elm.hasAttribute('id')) {
//if id - implement here
} else if (elm.hasAttribute('class')) {
//if class - implement here
} else {
for (i = 1, sib = elm.previousSibling; sib; sib = sib.previousSibling) {
if (sib.localName == elm.localName)
i++;
};
segs.unshift(elm.localName.toLowerCase() + '[' + i + ']');
}