html - 与 :has() 在 jQuery 中以具有嵌套表的父表为目标的相反是什么
问题描述
我有一个嵌套表如下 -
<table class="table parent">
<tbody>
<tr>
<td>TEXTA</td>
<td>TEXTB</td>
</tr>
<tr>
<td>Has nested table below
<table class="table nested">
<tbody>
<thead>
<th>S.No.</th>
<th>Name</th>
<th>Contact</th>
</thead>
<tr>
<td>1</td>
<td>ABC</td>
<td>PQR</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>TEXTC</td>
<td>TEXTD</td>
</tr>
</tbody>
</table>
如果我只想为嵌套表的 td 添加背景,我可以编写如下内容 -
$( "td" ).has( "table" ).css( "background-color", "red" );
但我只想选择没有嵌套表的父 td 或 td,我该如何实现呢?
我基本上只是想改变那些不包含嵌套表的 td 的宽度。所以,在这种情况下,只有包含 TEXTA 和 TEXTC 的 td 的宽度应该改变。
如果有办法单独通过 CSS 实现这一点,请告诉我。
提前致谢 !!
解决方案
您可以使用td's
Descendant Selector以及table
.not(':has("table")')
$(".parent > tbody > tr > td").not(':has("table")').css("background-color", "red");
现场演示:
$(".parent> tbody > tr > td").not(':has("table")').css("background-color", "red");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="table parent">
<tbody>
<tr>
<td>TEXTA</td>
<td>TEXTB</td>
</tr>
<tr>
<td>Has nested table below
<table class="table nested">
<tbody>
<thead>
<th>S.No.</th>
<th>Name</th>
<th>Contact</th>
</thead>
<tr>
<td>1</td>
<td>ABC</td>
<td>PQR</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>TEXTC</td>
<td>TEXTD</td>
</tr>
</tbody>
</table>
推荐阅读
- c# - 具有标识的 Blazor 应用程序不会创建帐户控制器
- excel - 防止价值重复
- firebase - Flutter Firebase 身份验证 - 注销和登录后生成的新匿名用户
- python - Django“用户”对象没有属性“电话”
- firebase - 存储为整数与字符串大小
- flutter - 无法通过 ScanStreamTransformer 正确检索模型
- postgresql - pgAdmin 中的导入/导出对话框消失
- matlab - 在频谱分析 MATLAB 中查找噪声频率区间
- flutter - 如何在文本小部件中获取 Flutter 列表中项目的编号
- sql - 外键“...”在引用表“...”中引用了无效列“...”。SQL 服务器