我有下表:
<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");
这是为了将类odd
和even
添加到不包含tr
元素的所有th
元素,即除了第一个元素之外的所有行,标题行。它不起作用,标题行,即使th
元素仍然获得类even
。这就是我必须将.removeClass("even");
添加到最后一行代码的原因。
XPath查询not([th])
还是[th]
?然后,我如何翻译这个jQuery“XPath语句”:
$("tr:not([th]):odd").addClass("odd");
到标准的jQuery语句,该语句提取不包含任何tr
的所有th
?