gpt4 book ai didi

javascript - 无法选择 tr 不包含 jquery 中的元素

转载 作者:搜寻专家 更新时间:2023-10-31 22:15:21 25 4
gpt4 key购买 nike

例子来自一本书。表格标题、奇数、偶数行有不同的颜色。它选择不包含 th 元素的 tr,以防止表格标题和偶数行之间的样式重叠。但是浏览器渲染后会出来<tr class="table-heading even"> .所以偶数行的样式会覆盖表格标题行的样式。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Styling Alternate Rows</title>
<style type="text/css">
.table-heading{
text-align:left;
background-color:#6C6; /*green for table heading*/
}
.odd{
background-color:#ffc; /*pale yellow for odd row*/
}
.even{
background-color:#cef; /*pale blue for even rows*/
}
.highlight{
font-weight:bolid;
color:#f00;
}
</style>
<script src="../jquery-1.8.0.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function (){
//style table heading row
$('th').parent().addClass('table-heading');
//style odd row
$('tr:not([th]):odd').addClass('odd');
//style even row
$('tr:not([th]):even').addClass('even');
//style next table cells of the cell containing the word "Henry"
$('td:contains("Henry")').next().addClass('highlight');
}
);
</script>
</head>

<body>
<table>
<tr>
<th>Title</th>
<th>Category</th>
</tr>
<tr>
<td>As your like it</td>
<td>Comedy</td>
</tr>
<tr>
<td>All well</td>
<td>Comedy</td>
</tr>
<tr>
<td>Henry IV Part 1</td>
<td>Tragely</td>
</tr>
<tr>
<td>Henry V</td>
<td>Tragely</td>
</tr>
</table>
</body>
</html>

最佳答案

你可以使用:has选择器,试试这个:

$('tr:not(":has(th)"):odd').addClass('odd');
$('tr:not(":has(th)"):even').addClass('even');

或者:

var $tr = $('tr:not(":has(th)")');
$tr.filter(':odd').addClass('odd')
$tr.filter(':even').addClass('even')

关于javascript - 无法选择 tr 不包含 jquery 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12011245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com