在带有某个类的div上,查找最后一个类并将该类添加到具有相同最后一个类的链接元素中。如何使用jQuery?

在带有某个类的div上,查找最后一个类并将该类添加到具有相同最后一个类的链接元素中。如何使用jQuery?,jquery,Jquery,当将div与最后一个类悬停在一起时,如何向元素(链接)添加类?我的意思是: 我有以下代码: <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 men

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

我有以下代码:

<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>

。 .

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

现在,我必须找到div的最后一个类,并在link元素中找到相同的类,然后将类添加到link元素中,例如“awesome”,这样看起来像:

<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>

如何做到这一点


提前感谢。

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

$('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
});

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

$('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
});
试试这个

 $('div').hover(function(){
      var myClass =$(this).attr('class').split(' ')[$(this).attr('class').split(' ').length - 1];
       $('a.'+myClass ).addClass("awesome");
    })
试试这个

 $('div').hover(function(){
      var myClass =$(this).attr('class').split(' ')[$(this).attr('class').split(' ').length - 1];
       $('a.'+myClass ).addClass("awesome");
    })
你可以做

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');
 });
在这里拉小提琴

你可以做的

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');
 });

这里的fiddle是“arrClasses.length”还是“arrClasses.length-1”我想他是说班级必须在最后一个位置是“arrClasses.length”还是“arrClasses.length-1”我想他是说班级必须在最后一个位置