我有以下表格标记
<table>
<tr>
<td>
<checkbox />
</td>
<td id="delete">
</td>
</tr>
<tr>
<td>
<checkbox />
</td>
<td id="delete">
</td>
</tr>
</table>
我想要达到的目标是 - 当用户单击其中一列中的复选框时,我想在同一行中向列(删除ID)添加一个类。我怎样才能做到这一点?该列可能不在复选框旁边的列中。
答案 0 :(得分:2)
首先你应该使用class
删除,因为id
属性必须是唯一的,那么这样的东西应该有效:
$('input[type="checkbox"]').change(function() {
$(this).closest('td').siblings('.delete').addClass('foo');
});
答案 1 :(得分:2)
<强> DEMO 强>
您不能在一个页面中拥有多个ID !!!
$('table :checkbox').change(function(){
$(this).closest('tr').find('.delete').addClass('something');
});
http://api.jquery.com/closest/
http://api.jquery.com/find/
http://api.jquery.com/addclass/
那就是直接回答你的问题 但是谈论复选框我想你想要这个切换功能:
$('table :checkbox').change(function(){
$(this).closest('tr').find('.delete').toggleClass('something');
});
<强> DEMO 强>
该列可能不在复选框旁边的列中。
.find()
方法是将在.delete
元素的子元素内搜索.closest()
的工作。
答案 2 :(得分:0)
试试这个:
$('input[type="checkbox"]').change(function() {
$(this).closest('td').siblings('.delete').toggleClass('ToBeAddedClass');
});
这将在复选框更改时切换班级。
when checked
添加课程。when unchecked
删除添加的课程。使用delete
作为css class name
代替id named delete