Come posso ottenere tutti gli elementi tr senza attributo id?XPath per trovare elementi che non hanno un ID o classe
<tr id="name">...</tr>
<tr>...</tr>
<tr>...</tr>
Grazie
Come posso ottenere tutti gli elementi tr senza attributo id?XPath per trovare elementi che non hanno un ID o classe
<tr id="name">...</tr>
<tr>...</tr>
<tr>...</tr>
Grazie
molto semplice:
//tr[not(@id) and not(@class)]
che vi darà tutte le tr
gli elementi che mancano sia id
e class
attributi. Se si desidera che tutti tr
elementi privi di uno dei due, utilizzare or
invece di and
:
//tr[not(@id) or not(@class)]
Quando gli attributi e gli elementi vengono utilizzati in questo modo, se l'attributo o elemento ha un valore che viene trattata come se è vero . Se manca, viene trattato come se fosse falso.
Puoi provare //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 + ']');
}
Se siete alla ricerca di un elemento che ha classe a
ma non fa hanno classe b
, è possibile effettuare le seguenti operazioni.
//*[contains(@class, 'a') and not(contains(@class, 'b'))]
Oppure, se si vuole essere sicuri di non corrispondenza parziale.
//*[contains(concat(' ', normalize-space(@class), ' '), ' some-class ') and not(contains(concat(' ', normalize-space(@class), ' '), ' another-class '))]
L'esempio "o" funziona. Dal momento che è un negativo contro? –