Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery复选框对象引用_Jquery_This - Fatal编程技术网

JQuery复选框对象引用

JQuery复选框对象引用,jquery,this,Jquery,This,我有以下代码(可以使用)来切换iPhone样式复选框: $('.iphone-style').live('click', function() { checkboxID = '#' + $(this).attr('rel'); if($(checkboxID)[0].checked == false) { $(this).animate({backgrou

我有以下代码(可以使用)来切换iPhone样式复选框:

            $('.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');