Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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,嘿,我试图让一个函数只在class2未附加到class1时执行: $(“#div”).on('mouseenter','class1:not(.class2'),function(){ $(“.class1”).fadeIn('fast',0); 另一个函数(); }); .class1{ 位置:相对位置; 宽度:181px; 身高:381px; 背景:透明url(/img/phone2.png)中心不重复; 不透明度:1; 光标:十字线; 背景大小:100%; z指数:1000; } .c

嘿,我试图让一个函数只在class2未附加到class1时执行:

$(“#div”).on('mouseenter','class1:not(.class2'),function(){
$(“.class1”).fadeIn('fast',0);
另一个函数();
});
.class1{
位置:相对位置;
宽度:181px;
身高:381px;
背景:透明url(/img/phone2.png)中心不重复;
不透明度:1;
光标:十字线;
背景大小:100%;
z指数:1000;
}
.class1.class2{
背景色:青色;
}
.课堂1.课堂3{
-webkit转换:不透明度300ms;
过渡:不透明度300ms;
位置:绝对位置;
顶部:88px;
左:21px;
右:20px;
底部:92px;
背景:透明;
溢出:隐藏;
}
应该是:

$("#div").on('mouseenter', '.class1:not(.class2)', function() {
                            ^
也许你需要改变

$(".class1").fadeIn('fast', 0); 


您可以使用jquery函数.has(selector)通过检查返回数组的length属性是否大于零来检查元素是否有适合选择器的子元素。例如:

if(!$(".class1").has(".class2").length)
     triggerFunction();
但是您应该小心,因为如果任何类名为“class1”的元素有一个类为“class2”的子元素,该语句将始终返回false。如果id为“div”的元素也是类名为“class1”的元素,那么只需使用

if(!$(this).has(".class2").length)
在.on()方法中。

您提交的内容:

我的更新版本:

差异:

  • HTML类名小写(如注释中所述)
  • $(“body”)
    而不是
    $(“#div”)
    #div
    查找具有
    id=“div”
    的元素。使用
    .on()
    的方式需要一个祖先元素。不确定您为什么没有执行
    $(“.class1:not(.class2)”)。在('mouseenter',function(){
  • 'class1'
    缺失
    (如另一个答案中所述)

如果缺少的
不是问题,那么也显示html。类名区分大小写。如果在html中使用
Class1
,则需要在css中使用
Class1
(和jquery选择器)。而不是
Class1
也显示类在代码中的显示方式。您提供的信息仍然不够
if(!$(this).has(".class2").length)