Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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 Psuedo选择器:仅当DIV具有特定类时才悬停_Jquery_Css_Javascript Events_Css Selectors_Pseudo Class - Fatal编程技术网

Jquery Psuedo选择器:仅当DIV具有特定类时才悬停

Jquery Psuedo选择器:仅当DIV具有特定类时才悬停,jquery,css,javascript-events,css-selectors,pseudo-class,Jquery,Css,Javascript Events,Css Selectors,Pseudo Class,我有以下代码是在DIV的鼠标悬停事件中触发的: if(!$this.hasClass('ready')) { if($this.hasClass('activated')) { $this.removeClass('activated'); } $this.addClass('ready');

我有以下代码是在
DIV
的鼠标悬停事件中触发的:

            if(!$this.hasClass('ready')) 
            {   if($this.hasClass('activated'))
                {
                    $this.removeClass('activated');
                }
                $this.addClass('ready');
            }
有更多的代码,但它基本上遵循与上面相同的概念模式。我检查一个类的存在性,只有当该类存在时,我才添加或删除其他类。这种情况发生在
mouseover
上,其他情况发生在
mouseout
上。所以有人建议我只使用CSS和
:hover
。但是我有两种不同类型的
DIV
,一种类型包含文本,因此类为“textBox”,另一种类型包含图像,因此类为“imgBox”

我想做一些像

div.imgBox .ready:hover
{ /* some style */ }

div.textBox .ready:hover
{ /* some style */ }
因此,如果鼠标悬停在
div
s上,而它们没有类
.ready
,那么什么也不会发生。这可能吗?我只是想切换到CSS以加速页面上的用户交互,因为有时候鼠标在离开或进入
div
时会卡住,我想这可能是因为这个类改变了jQuery。我说得对吗

编辑 我忘了添加问题的一个重要部分-嵌套元素呢? 我的意思是,我有一个
div
,它在
悬停
时可以调整大小,当这种情况发生时,我希望以前透明的调整大小手柄获得彩色背景

<div class='imgbox'>
<div class='ui-resizable-se'></div>
...
</div>

这是可能的吗?

如果type和ready类都位于同一个
div
上,则需要去掉这两个类之间的空格:

div.imgBox.ready:hover
{ /* some style */ }

div.textBox.ready:hover
{ /* some style */ }
如果需要设置嵌套元素的样式,只需在
:hover
部分后添加空格:

div.imgBox.ready:hover .ui-resizable-se
{ /* some style */ }

如果type和ready类都位于同一个
div
,则需要去掉这两个类之间的空格:

div.imgBox.ready:hover
{ /* some style */ }

div.textBox.ready:hover
{ /* some style */ }
如果需要设置嵌套元素的样式,只需在
:hover
部分后添加空格:

div.imgBox.ready:hover .ui-resizable-se
{ /* some style */ }

不能使用CSS添加或删除类。您只能根据CSS属性添加或删除样式。因此,如果要在鼠标上方修改某些
div
的外观,必须明确指定样式。

不能使用CSS添加或删除类。您只能根据CSS属性添加或删除样式。因此,如果要在鼠标悬停时修改某些
div
的外观,必须明确指定样式。

应在悬停定义中指定:

$('div.ready').hover() {
    // Your code goes here
}

这样,只有那些拥有ready类的div才会有一个悬停事件。否则,什么也不会发生

您应该在悬停定义中指定:

$('div.ready').hover() {
    // Your code goes here
}

这样,只有那些拥有ready类的div才会有一个悬停事件。否则,什么也不会发生

你能添加你的标记吗?你能添加你的标记吗?我有个问题。如果我应用这个CSS,它是否比通过jQuery做同样的事情更高效/更快?是的,它是。CSS总是更快。我有个问题。如果我应用这个CSS,它是否比通过jQuery做同样的事情更高效/更快?是的,它是。CSS总是更快。