JQuery复选框对象引用
我有以下代码(可以使用)来切换iPhone样式复选框:JQuery复选框对象引用,jquery,this,Jquery,This,我有以下代码(可以使用)来切换iPhone样式复选框: $('.iphone-style').live('click', function() { checkboxID = '#' + $(this).attr('rel'); if($(checkboxID)[0].checked == false) { $(this).animate({backgrou
$('.iphone-style').live('click', function() {
checkboxID = '#' + $(this).attr('rel');
if($(checkboxID)[0].checked == false) {
$(this).animate({backgroundPosition: '0% 100%'});
$(checkboxID)[0].checked = true;
$(this).removeClass('off').addClass('on');
} else {
$(this).animate({backgroundPosition: '100% 0%'});
$(checkboxID)[0].checked = false;
$(this).removeClass('on').addClass('off');
}
});
在另一个函数中,我希望在取消选中另一个复选框(PhotoStyles)时取消选中特定复选框(AerialView)。我不知道如何正确地将“this”引用替换为更具体的引用。我有以下几点(不起作用):
注意,我确认if语句有效,并且将checked设置为false也有效。“animate”、“removeClass”和“addClass”的视觉元素不起作用。如果您有复选框的
id
,则检查是否选中该复选框的语法为:
if($('#' + id).is(":checked")) {
// it is checked
}
else {
// it is not checked
}
在您的情况下,您没有使用正确的语法来检查复选框,而且您得到的是“true”值。嗯
现在,如果$('#AerialViewCheck')[0]
是checkbox元素,那么将animate、addClass和removeClass应用于该元素本身。您为什么要申请$(“#AerialViewCheck”)
?这样使用:
$('#AerialViewCheck')[0].animate({backgroundPosition: '100% 0%'});
$('#AerialViewCheck')[0].removeClass('on').addClass('off');
你能显示一些html代码或创建fiddle吗?谢谢,但那不行。我不知道我是不是完全疯了。。。但是,如果查看原始代码(有效),animate、removeClass和addClass函数引用对象(使用“this”调用)。他们不引用ID。当我不能调用“this”时,我只是不知道如何从ID引用特定对象(在本例中是AerialView)。
$('#AerialViewCheck')[0].animate({backgroundPosition: '100% 0%'});
$('#AerialViewCheck')[0].removeClass('on').addClass('off');