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