我无法实现看起来如此简单的事情。不知道我哪里错了。请指教。 目标是突出显示一个表格行是与其对应的复选框被选中。我已经提到了几个使用.closest('tr')或.parent('tr')来解决这个问题的例子,但由于某些原因,我的情况 - 它的超实现,即它突出显示所有行,而不仅仅是一个被选中。jquery导航到父项<tr>。使用父()或最接近()选择器的问题
我的HTML
<tr class="EvenRowClass">
<td class="ColClass">
<div class="wrapClass" ">
<span class="tableCol" style="background: someimage.png") </span>
<span class="tableCol" style="background: someimage.png") </span>
<input id="Check1" class="selectCheck" type="checkbox"
onclick="highlightRow(this,Check1); return false;" value="Check1">
</div>
</td>
<td>SomeCode</td>
<td>SomeCode</td>
<td>SomeCode</td>
假设有与每个复选框顺序和唯一ID)
我的JavaScript函数被调用上点击
这种代码的另一块function highlightRow(checkbox, id)
{
$("tr:parent").toggleClass("highlight", checkbox.checked);
}
上面的javascript选择了所有的ta无论是否进行检查,并将高亮级别应用于该页面。 我尝试过使用复选框选择器,.closest('tr'),.parent('tr')的其他几个版本,但他们都没有为我工作。
上面提到的最后几个只会更好,因为它们只影响表格内的内容,而不影响页面上的其他内容。
请指教。我已经把我的头挠了一下,现在开始伤害了。
金。非常感谢。这工作。但我有一个问题?为什么不会同样的工作,如果我只是ID作为选择器... '功能highlightRow(复选框,ID) { var id = id; $(#id).parents(“tr”)。toggleClass(“highlight”, checkbox.checked); ' }' – user1006072
你必须这样做:'$('#'+ id).'。您也可以不通过复选框或ID,并执行'$(this).' – ThinkingStiff