我有以下内容:
<form id="my_form">
<input type="checkbox" name="a" value="a"> Check <img src="..." />
</form>
要处理检查并取消选中我所做的事件(这样可行):
$('#my_form :checkbox).click(function() {
if($(this).is(':checked')) {
//...
}
//...
});
我的问题是:在点击功能内部,如何选中复选框旁边的<img>
标记?我可以在不指定图像ID的情况下执行此操作吗? ..by“select”我的意思是我需要能够隐藏()并显示()它。感谢
答案 0 :(得分:1)
您可以使用.next()
,因为它是下一个(立即下一个,这很重要)兄弟元素,如下所示:
$('#my_form :checkbox').click(function() {
if(this.checked) {
var img = $(this).next('img');
}
});
我认为你最终使用.toggle(bool)
最容易完成的事情,就像这样:
$('#my_form :checkbox').change(function() {
$(this).next('img').toggle(this.checked);
});
这将在选中时显示<img>
,并在不显示时隐藏它。请注意,我在这里使用.change()
,因为这是您在处理复选框时通常需要的事件,以便始终获得正确的状态。