XPath查找没有id或类的元素

时间:2010-03-08 19:34:42

标签: xpath

如何获取没有id属性的所有tr元素?

<tr id="name">...</tr>
<tr>...</tr>
<tr>...</tr>

由于

3 个答案:

答案 0 :(得分:112)

非常简单:

//tr[not(@id) and not(@class)]

这将为您提供缺少trid属性的所有class个元素。如果您希望所有tr元素缺少其中一个元素,请使用or代替and

//tr[not(@id) or not(@class)]

当以这种方式使用属性和元素时,如果属性或元素具有值,则将其视为是真的。如果它丢失,则将其视为错误。

答案 1 :(得分:8)

你能试试//tr[not(@id)]?

吗?

答案 2 :(得分:-2)

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 + ']'); 
    }