Como posso obter todos os elementos tr sem o atributo id?
<tr id="name">...</tr>
<tr>...</tr>
<tr>...</tr>
obrigado
Como posso obter todos os elementos tr sem o atributo id?
<tr id="name">...</tr>
<tr>...</tr>
<tr>...</tr>
obrigado
Respostas:
Bem direto:
//tr[not(@id) and not(@class)]
Isso lhe dará todos os trelementos sem os atributos ide class. Se você quiser que todos os trelementos não tenham um dos dois, use em orvez de and:
//tr[not(@id) or not(@class)]
Quando atributos e elementos são usados dessa forma, se o atributo ou elemento tiver um valor, ele será tratado como se fosse verdadeiro. Se estiver faltando, será tratado como se fosse falso.
Se estiver procurando por um elemento que tenha classe, amas não tenha classe b, você pode fazer o seguinte.
//*[contains(@class, 'a') and not(contains(@class, 'b'))]
Ou se você quiser ter certeza de não corresponder a parcial.
//*[contains(concat(' ', normalize-space(@class), ' '), ' some-class ') and
not(contains(concat(' ', normalize-space(@class), ' '), ' another-class '))]
Você pode tentar //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 + ']');
}