如何添加一个类到一个元素(链接),当悬停一个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 class="pretty fixed menu-20">Some text here</div>重要!我不知道div类的名称。我只知道它永远是最后一个!所以当我有像pretty,fixed和menu-20这样的类时,我需要menu-20。
现在,我必须找到div的最后一个类,并以某种方式在link元素中找到相同的类,并向该link元素添加类,例如“add”,因此它看起来如下所示:
<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>。
该怎么做呢?
提前谢谢。
发布于 2011-09-30 20:37:13
类只是另一个属性,这意味着您可以使用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
});发布于 2011-09-30 20:39:34
尝尝这个
$('div').hover(function(){
var myClass =$(this).attr('class').split(' ')[$(this).attr('class').split(' ').length - 1];
$('a.'+myClass ).addClass("awesome");
})发布于 2011-09-30 20:44:59
你可以这样做;
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/
https://stackoverflow.com/questions/7610406
复制相似问题