jQuery:从内置的XPath表达式转换为标准的jQuery表达式

时间:2018-01-11 10:12:42

标签: javascript jquery html xml xpath

我有下表:

<h1>Selected Shakespear Plays</h1>
<table>
    <thead>
        <tr>
            <th>Title</th>
            <th>Category</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>As You Like It</td>
            <td>Comedy</td>
        </tr>
        <tr>
            <td>All's Well that Ends Well</td>
            <td>Comedy</td>
        </tr>
        <tr>
            <td>Henry V</td>
            <td>History</td>
        </tr>
    </tbody>
</table>

然后使用XPath表达式的下面的脚本。我相信,当我发布的书出版时,XPath已构建到jQuery中,但它已被移出jquery-xpath插件。

$("tr:not([th]):odd").addClass("odd");
$("tr:not([th]):even").addClass("even");
$("td:contains('Henry')").addClass("highlight");
$("thead tr").addClass("table-heading").removeClass("even");

这是为了将类oddeven添加到不包含tr元素的所有th元素,即除了第一个元素之外的所有行,标题行。它不起作用,标题行,即使th元素仍然获得类even。这就是我必须将.removeClass("even");添加到最后一行代码的原因。

XPath查询not([th])还是[th]?然后,我如何翻译这个jQuery“XPath语句”:

$("tr:not([th]):odd").addClass("odd");

到标准的jQuery语句,该语句提取不包含任何tr的所有th

0 个答案:

没有答案