我有一个div列表(#div1,#div2,#div3等)。这些div中的每一个都包含不同的图片和纹理。 div共享相同的布局类,它们都包含一个复选框(所有复选框也有一个类)。
我希望单个div在选中其中的复选框时切换类。
如果单击一个div中的复选框,如何在没有所有div切换类的情况下管理它?
感谢。
答案 0 :(得分:1)
http://jsbin.com/exasow/1/edit
$(':checkbox').click(function(){
$(this).closest('div[id^=div]').toggleClass( 'superclass' );
});
您可以使用click
或change
功能。
http://api.jquery.com/closest/将允许您将复选框放在其他元素中,它将始终在DOM树中搜索所需的父级:
div[id^=div]
表示DIV element which ID starts with the word "div"
,适用于所有div1, div2, div***
选择器。
答案 1 :(得分:0)
试试这个。 DEMO
使用.click()
作为复选框,然后使用.parent()
获取其父div,然后拨打.toggleClass('classforparentdiv')
。
<强>更新强>
希望它有所帮助。
答案 2 :(得分:0)
为复选框提供ID,并在此基础上切换父div类
或者,听取事件并切换父div的类
像这样,
$(event.currentTarget).parent()切换( '的className');