首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只有当容器没有特定的类时,jQuery才会选择子类

问只有当容器没有特定的类时,jQuery才会选择子类
EN

Stack Overflow用户
提问于 2016-12-22 19:39:45
回答 4查看 228关注 0票数 2

我想把悬浮函数附加到div的子类上,但前提是这个div没有特定的类。为了说明我的意图-我希望鼠标进入任何“..column-按钮”元素时触发悬停函数,除非容器".disabled“中添加了”.disabled“类:

​

代码语言:javascript
复制
 $('.hover-button').hover( function() { 
   //showing tooltip
 } );
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="column">
  <div class="hover-button"></div>
  <div class="hover-button"></div>
  <div class="hover-button"></div>
</div>

<div class="column disabled">
  <div class="hover-button"></div>
  <div class="hover-button"></div>
  <div class="hover-button"></div>
</div>

​

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-12-22 19:46:06

您可以使用jQuery的:not选择器。看看这段代码,特别是这段代码。

.column:not(.disabled) > .hover-button

​

代码语言:javascript
复制
$('.column:not(.disabled) > .hover-button').on("mouseover", function() { 
    $(this).css({"background": "gold"}); 
 }).on("mouseout", function() {
    $(this).css({"background": "white"});
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="column">
  <div class="hover-button">Hover Here</div>
  <div class="hover-button">And Here</div>
  <div class="hover-button">And Here</div>
</div>

<div class="column disabled">
  <div class="hover-button">But not here</div>
  <div class="hover-button">Or here</div>
  <div class="hover-button">Or here</div>
</div>

​

票数 1
EN

Stack Overflow用户

发布于 2016-12-22 19:48:36

使用Not方法

代码语言:javascript
复制
 $('.column:not(.disabled)')
票数 1
EN

Stack Overflow用户

发布于 2016-12-22 20:03:28

可以在选择器中使用:not()排除与另一个选择器匹配的元素。

但是,如果类将动态更改,则需要使用委托绑定,而不是常规事件绑定。

代码语言:javascript
复制
$(document).on({
    mouseenter: function () {
        // show tooltip
    },

    mouseleave: function () {
        // remove tooltip
    }
}, '.column:not(.disabled)');

我不得不使用mouseenter和mouseleave,因为hover不是真正的事件,所以您不能在委派时绑定它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41290551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档