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