我有一个带有复选框的表,如下所示:
<td class="table-col" >
<div class="group-one" >
<input type="checkbox" />
</div>
</td>
字符串
我想做的是,当复选框被选中时,将一个“selected”类应用于“table-col”。
if ($('.table-col').find(':checked')) {
$(this).parent().parent().addClass('selected');
}
型
我看了很多类似的解决方案,但似乎对我不起作用。我不知道为什么,但 this 指向的是HTMLDocument而不是元素。
(编辑)在这个页面上会有标记的复选框,那些我想应用“选择”.在评论@cimmanon提到事件处理.我需要看看这个.也谢谢你的答案!
(编辑)
<td class="table-col">
<div class="group-one">
<input type="checkbox" checked="checked"/>
</div>
</td>
型
所以在页面加载之后,会有标记的框(我认为它们总是包含 checked=“checked” --不确定)复选框。这些是需要新样式的框。不需要点击它们并应用样式的交互,但仍然很酷。
5条答案
按热度按时间py49o6xq1#
试试这个...
字符串
Example
你好啊。
eyh26e7m2#
您可以使用
.change()
绑定到change
事件;然后使用.closest()
和.toggleClass()
在祖元素中添加或删除selected
类名。字符串
See it here.
fv2wmkja3#
给予你的复选框一个名字,这样jQuery就可以钩住它:
字符串
new9mtju4#
$(this)只会引用你的复选框(这样你就可以根据你的代码找到它的祖父级),当你在一个事件处理程序中时,通过将它分配给复选框元素来调用它,就像@cimmanon暗示的那样。
因此,如果你将.change()处理程序分配给你的复选框,$(this)将引用你的复选框。实际上你可以在一行中这样做,因为你可能想打开或关闭“selected”类:
字符串
否则,$(this)引用引发事件的控件例如,如果您正在执行此代码以响应按钮单击处理程序,则$(this)将引用按钮。
rkue9o1l5#
超文本标记语言:
字符串
CSS:
型