Javascript 如何在此处选择TR?
这是我的代码,setWord是1985:Javascript 如何在此处选择TR?,javascript,jquery,html-table,parent,Javascript,Jquery,Html Table,Parent,这是我的代码,setWord是1985: $("td:contains(" + setWord + ")").css("textDecoration", "underline"); 我认为这会起作用: $("td").not(":contains(" + setWord + ")").parent().css("backgroundColor", "red"); 但显然不是。我只是想选择TD的父母TR <tr> <td>John</td&
$("td:contains(" + setWord + ")").css("textDecoration", "underline");
我认为这会起作用:
$("td").not(":contains(" + setWord + ")").parent().css("backgroundColor", "red");
但显然不是。我只是想选择TD的父母TR
<tr>
<td>John</td>
<td>03/09/1985</td>
<td>Red</td>
<td>Australia</td>
<td>$ Dollars</td>
</tr>
<tr>
<td>Dave</td>
<td>01/01/1987</td>
<td>Blue</td>
<td>London</td>
<td>£ Pounds</td>
</tr>
约翰
03/09/1985
红色
澳大利亚
美元
戴夫
01/01/1987
蓝色
伦敦
&磅;英镑
如果要更改不包含设置字的所有行的背景,请尝试以下操作:
$("tr").not(":contains(" + setWord + ")").css("backgroundColor", "red");
$("td:contains(" + setWord + ")").parent().css("backgroundColor", "red");
演示:
如果要更改包含
setWord
的行的背景,请尝试以下操作:
$("tr").not(":contains(" + setWord + ")").css("backgroundColor", "red");
$("td:contains(" + setWord + ")").parent().css("backgroundColor", "red");
演示:
您显示的代码存在问题:
$("td").not(":contains(" + setWord + ")").parent().css("backgroundColor", "red");
…就是从选择所有TD元素开始,然后删除包含
setWord的元素,但这仍然会选择每行中至少一些TD元素。因此,当您获得所选TDs的.parent()
时,您将获得每个TR元素…“我只是试图选择该TD的父TR”-哪个TD?您使用的是.not()
,因此将选择不包含设置字的TDs
…对我来说,正如您所拥有的那样:(这将同时选择
,因为两者都包含
而不包括设置字)为什么要基于文本内容进行DOM选择?您不能为元素提供属性,以便有更适合选择的内容吗?您可以为每个包含您尝试选择的年份的tr
添加一个data-
属性。我将顶行粘贴错误,现在已修复,但我没有意识到我可以只在tr中搜索,这修复了它,谢谢: