【问题标题】:reach element sub-class through jquery this通过jquery this 到达元素子类
【发布时间】:2012-02-27 21:24:27
【问题描述】:

编辑:以下是代表真实类的伪代码 $('a:hover');和 $(a.subClass);我想通过 'this' 达到,即 'this' = <a>。

例如$(this:hover)$(this.subClass)

虽然这不是正确的语法,但您可能会明白。 假设$(this); 指的是<a> 元素,我想访问它的:hover 伪类。

你会怎么做?

我有一个可以在 jquery 中访问的 DOM 元素 $('a');或 $(this);

该元素具有我想要访问的伪类(例如 :hover)和子类(例如 .customClass)。

附言我已经更新了这个问题,让它更清楚,谢谢。

【问题讨论】:

标签: jquery this pseudo-class


【解决方案1】:

也许你的意思是这样的?

$(this).filter(':hover')

【讨论】:

  • 你在 jQuery 中有 :hover 选择器吗? .hover != :hover
  • 我知道这不是一个正确的语法,我用它来表示 $('a:hover');在伪代码中。
【解决方案2】:

这就是 jQuery .is().hasClass() 方法的用途。如果元素与给定的选择器匹配或分别具有特定的类,则它们返回 true 或 false。

虽然您不能使用 .is() 进行悬停,但请查看使用 .hover(function, function) 附加处理函数以更改悬停状态。

【讨论】:

    【解决方案3】:

    你不能这样做,因为不存在这样的选择器。

    我不知道你实际上想做什么。但是如果你想从一个元素中找出所有的类名,那么你可以试试这个。

    var classes = this.className.split(' ');
    

    【讨论】:

      【解决方案4】:

      最好的方法是切换一个悬停类并测试类

      【讨论】:

        【解决方案5】:

        我认为您正在将 CSS 与 JS 混合使用。
        JS 的思想是使页面具有交互性。如果你想在'悬停'一个元素之后发生一些事情,你应该使用事件,例如hover event:

          $(this).hover(
           function(){alert('mouse in');}, 
           function(){alert('mouse out');}
          );
        

        您可能需要此信息用于 if 语句,抱歉,我现在无法使用 google :) conn 问题 :) 如果需要,我会更新我的答案。

        【讨论】:

          猜你喜欢
          • 2011-05-04
          • 2010-10-27
          • 2014-05-10
          • 1970-01-01
          • 2010-11-25
          • 1970-01-01
          • 1970-01-01
          • 2014-07-31
          • 1970-01-01
          相关资源
          最近更新 更多