Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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
Javascript (:可见)选择器在类jQuery上不工作吗_Javascript_Jquery_Html - Fatal编程技术网

Javascript (:可见)选择器在类jQuery上不工作吗

Javascript (:可见)选择器在类jQuery上不工作吗,javascript,jquery,html,Javascript,Jquery,Html,我不知道该如何解释这一点,我对我正在尝试做的事情做了一点修改: 这是我的密码: HTML: 基本上,当您单击宝瓶座图标时,图像将显示在divzodonedraggbox中aquariusSelectedComp1和类killSelectedComp1现在可见,因此当您再次单击图标AquariusicClick时,图像应显示在ZodTwoDragBox中。它适用于第一个框,但选择器没有读取具有相应类的图像当前可见,因此执行if语句中的内容并在第二个框中显示图像。希望我解释得足够好,再一次,这是我

我不知道该如何解释这一点,我对我正在尝试做的事情做了一点修改:

这是我的密码: HTML:

基本上,当您单击宝瓶座图标时,图像将显示在div
zodonedraggbox
aquariusSelectedComp1
和类
killSelectedComp1
现在可见,因此当您再次单击图标
AquariusicClick
时,图像应显示在
ZodTwoDragBox
中。它适用于第一个框,但选择器没有读取具有相应类的图像当前可见,因此执行
if
语句中的内容并在第二个框中显示图像。希望我解释得足够好,再一次,这是我的小提琴:

我不确定我做错了什么,我已经通过谷歌搜索确保我正确使用了
:visible
选择器。非常感谢所有帮助。非常感谢。

您不需要绑定单击div条件,而是在单击时检查div可见性

    $('#aquariusIcnClick').click(function() {
         if ($('.killSelectedComp1').is(':visible')) {       
           $('.killSelectedComp2').hide();
           $('#aquariusSelectedComp2').show();
         }
         else
         {
           $('.killSelectedComp1').hide();
           $('#aquariusSelectedComp1').show();
         }
    });

当页面加载/或dom就绪时,代码只执行一次。这意味着您的
if语句只测试一次。您需要修改代码,以便if语句出现在click处理程序中。这意味着每次单击时都会测试
killSelectedComp1
的可见性,然后您可以决定要做什么


正如@rahul所做的;)

不要绑定事件条件,而是将条件放入事件中

$('#aquariusIcnClick').click(function() {
    if ($('.killSelectedComp1').is(':visible')) {
        $('.killSelectedComp2').hide();
        $('#aquariusSelectedComp2').show();
    }
    else {
        $('.killSelectedComp1').hide();
        $('#aquariusSelectedComp1').show();
    }
});​

哦,这是有道理的!!谢谢你,拉胡尔,你是第一个回答的,再过5分钟我就不会接受你的回答了。再次感谢您@user1053263没问题:)非常感谢您抽出时间回答此问题感谢您抽出时间回答此pebblno问题,如果将来某个问题似乎没有如您所期望的那样工作,请输入两个
alert()
console.log()
您正在测试的区域中的命令,以直观地查看何时何地执行的操作——对我来说,这一直有助于捕获此类问题。祝你好运(w/it:)
    $('#aquariusIcnClick').click(function() {
         if ($('.killSelectedComp1').is(':visible')) {       
           $('.killSelectedComp2').hide();
           $('#aquariusSelectedComp2').show();
         }
         else
         {
           $('.killSelectedComp1').hide();
           $('#aquariusSelectedComp1').show();
         }
    });
$('#aquariusIcnClick').click(function() {
    if ($('.killSelectedComp1').is(':visible')) {
        $('.killSelectedComp2').hide();
        $('#aquariusSelectedComp2').show();
    }
    else {
        $('.killSelectedComp1').hide();
        $('#aquariusSelectedComp1').show();
    }
});​