我正在尝试为每个点击一个复选框获取提醒。
这是我的JS代码:
$('#acts').find(':checkbox').click(function(){
if($(this) == 'all')
{
alert('Checkbox Clicked');
}
});
和HTML:
<div id="acts">
<input type="checkbox" id="all">
<input type="checkbox" value="Brussel" name="locality"> <label>Brussel</label>
<input type="checkbox" value="Anderlecht" name="locality"> <label>Anderlecht</label>
<input type="checkbox" value="Oudergem" name="locality"> <label>Oudergem</label>
</div>
我首先尝试这种方式,但也尝试添加
var theName = $(this);
和
var theName = String($(this));
并在IF语句中再次比较'theName',但$(this)或我指定给它的变量,不断返回我[Object] [object],我无法比较那样。< / p>
答案 0 :(得分:10)
您只需检查
即可if(this.id == 'all')
请注意,要访问id
媒体资源,无需执行$(this).attr('id')
:直接访问该媒体资源的速度更快。
正如@RoryMcCrossan在下面的评论中所说,this
和$(this)
是对象,因此将它们与字符串进行比较是没有意义的。
答案 1 :(得分:5)
喜欢这个。
$(this).attr("id") == 'all'
虽然使用“id”来“识别”元素并不是最好的方法。请记住,页面上只能有一个ID。 data
attr可能更适合这样做。在这种情况下你会做
<input type="checkbox" data-something="all" />
$(this).data("something") == 'all';
答案 2 :(得分:0)
如果您想了解有关每个对象的更多信息,请尝试:
console.log(JSON.stringify($(this)));