首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在div上悬停某个类,找到最后一个类,并将类添加到具有相同最后一个类的link元素。在jQuery中是如何实现的?

在div上悬停某个类,找到最后一个类,并将类添加到具有相同最后一个类的link元素。在jQuery中是如何实现的?
EN

Stack Overflow用户
提问于 2011-09-30 20:32:19
回答 3查看 119关注 0票数 1

如何添加一个类到一个元素(链接),当悬停一个div与最后一个类?我的意思是:

我有这样的代码:

代码语言:javascript
复制
<a href="http://google.com" class="menu nice menu-2">Google</a>
<a href="http://yahoo.com" class="menu nice menu-10">Yahoo</a>
<a href="http://facebook.com" class="menu nice menu-20">Facebook</a>

。。。

代码语言:javascript
复制
<div class="pretty fixed menu-20">Some text here</div>

重要!我不知道div类的名称。我只知道它永远是最后一个!所以当我有像pretty,fixed和menu-20这样的类时,我需要menu-20。

现在,我必须找到div的最后一个类,并以某种方式在link元素中找到相同的类,并向该link元素添加类,例如“add”,因此它看起来如下所示:

代码语言:javascript
复制
<a href="http://google.com" class="menu nice menu-2">Google</a>
<a href="http://yahoo.com" class="menu nice menu-10">Yahoo</a>
<a href="http://facebook.com" class="menu nice menu-20 awesome">Facebook</a>

该怎么做呢?

提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2011-09-30 20:37:13

类只是另一个属性,这意味着您可以使用attr()提取它们,并将它们作为字符串进行操作:

代码语言:javascript
复制
$('div').hover(function() { // mouseover
    var arrClasses = $(this).attr("class").split(" ");
    var strLastClass = arrClasses[arrClasses.length-1];
    $('a.'+strLastClass).addClass("awesome");
}, function() {  // mouseout
    $('a').removeClass("awesome"); // easier to just remove it everywhere
});
票数 1
EN

Stack Overflow用户

发布于 2011-09-30 20:39:34

尝尝这个

代码语言:javascript
复制
 $('div').hover(function(){
      var myClass =$(this).attr('class').split(' ')[$(this).attr('class').split(' ').length - 1];
       $('a.'+myClass ).addClass("awesome");
    })
票数 0
EN

Stack Overflow用户

发布于 2011-09-30 20:44:59

你可以这样做;

代码语言:javascript
复制
function getNameOfLastClass(el){

   var classNames=$(el).attr('class');
   var classes = classNames.split(' ');
   var lastClass = classes.pop();
    return lastClass;
}

$('div').hover(function(){
   var last = getNameOfLastClass(this);
   console.log(last);
    $('a').each(function(){
         var lastA = getNameOfLastClass(this);
        if (lastA === last){
            $(this).addClass('awesome');
        }
    });

}
 function(){
        $('a').removeClass('awesome');
 });

在这里拉小提琴http://jsfiddle.net/JqMfZ/1/

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

https://stackoverflow.com/questions/7610406

复制
相关文章

相似问题

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