jquery - 在 jQuery 中,如何找到包含特定文本的单元格的行?
问题描述
我有以下 HTML 表格...
<table>
<tr id="result1">
<td class="title">Orange</td>
<td>12</td>
<td>37</td>
</tr>
<tr id="result2">
<td class="title">Apple</td>
<td>12</td>
<td>37</td>
</tr>
<tr id="result3">
<td class="title">Orange</td>
<td>12</td>
<td>37</td>
</tr>
<tr id="result4">
<td class="title">Lemon</td>
<td>12</td>
<td>37</td>
</tr>
</table>
假设我有第一行......
var $tr = $('#result1');
var title = $tr.find('td.title').text();
如何在 jQuery 中找到表中所有其他具有 TD 单元格的行,该单元格的类为“title”,其文本与我的“title”变量中的文本匹配?请注意,在上面的示例中,唯一的结果将是 id="result3" 的行。
解决方案
您只需将建议的:contains()
选择器与parent()
or结合起来parents()
。检查下面的代码。
var selector = $("td:contains('Orange')").parent('tr');
$(selector).addClass('highlighted');
.highlighted {
background-color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr id="result1">
<td class="title">Orange</td>
<td>12</td>
<td>37</td>
</tr>
<tr id="result2">
<td class="title">Apple</td>
<td>12</td>
<td>37</td>
</tr>
<tr id="result3">
<td class="title">Orange</td>
<td>12</td>
<td>37</td>
</tr>
<tr id="result4">
<td class="title">Lemon</td>
<td>12</td>
<td>37</td>
</tr>
</table>
推荐阅读
- java - 计算帽子戏法的功能,当尝试一个问题并连续给出三个正确答案时
- python-3.x - 从分类器的准确度结果计算标准误差?
- python - 张量流概率:InvalidArgumentError:所需的可广播形状
- typescript - 是否可以发布带有环境模块声明的包?
- r - 计算加权图模块化的正确方法
- android - 滚动后如何让 CollapsingToolbarLayout 完全消失?
- django - 如何在 django 中获取查询集?
- javascript - 单击顶部的 Todo 会导致底部的 todo 也被单击
- javascript - 按下按钮时如何使父功能不起作用
- javascript - 在单独的页面中打印 html 部分不起作用