从html链接类创建和使用jQuery变量
只是刚开始使用jQuery,我相信这对于那些了解jQuery的人来说是基本的东西,但我无法让它工作 我有一个非常简单且重复的脚本,我正在尝试简化它,当某些链接悬停时,它会改变背景div的背景颜色。i、 e.每个链接都有一个相关的背景div从html链接类创建和使用jQuery变量,jquery,html,class,variables,jquery-selectors,Jquery,Html,Class,Variables,Jquery Selectors,只是刚开始使用jQuery,我相信这对于那些了解jQuery的人来说是基本的东西,但我无法让它工作 我有一个非常简单且重复的脚本,我正在尝试简化它,当某些链接悬停时,它会改变背景div的背景颜色。i、 e.每个链接都有一个相关的背景div $('div#navigation a.A').hover(function(){ $('div#bg-nav .A').addClass('bg-active'); },function(){ $('div#bg-nav .A').removeClass('
$('div#navigation a.A').hover(function(){
$('div#bg-nav .A').addClass('bg-active');
},function(){
$('div#bg-nav .A').removeClass('bg-active');
});;
$('div#navigation a.B').hover(function(){
$('div#bg-nav .B').addClass('bg-active');
},function(){
$('div#bg-nav .B').removeClass('bg-active');
});;
对每个链接重复此操作。链接和后台div是由CMS动态创建的,因此每次添加页面时手动更新此脚本并不理想。我不能使用纯CSS,因为链接与页面结构中的div相关
因为有一个明显的模式,背景div与触发器链接具有相同的类,我认为必须可以使用悬停链接的类来影响相关div,将变量传递到选择器上,如下所示,但作为一个新手,我无法让它工作
$(document).ready(function() {
var linkClass = $(this).attr("class");
$("div#navigation a").hover(function() {
$('div#bg-nav.'+ linkClass).addClass('bg-active');
},function(){
$('div#bg-nav.'+ linkClass).removeClass('bg-active');
});;
首先,你需要移动线路 var linkClass=$this.attrclass 在悬停呼叫中。在您的版本$中,这指的是$文档 其次,只有当$'diva'项的第一个或唯一一个类是'a'或'B'类时,这才有效,否则您必须循环使用每个类并找到选择正确类的方法
有关这方面的更多信息,请参见问题。我认为这应该有效。还可以查看密度21.5的答案以了解详细信息
$('#navigation a').hover(function () {
$('#bg-nav').find('.'+ $(this).attr('class')).toggleClass('bg-active');
});
如果你发布你的html,它会更有用,但是如果我猜对了,这段代码应该可以工作
$(document).ready(function(){
var linkclass;
$('#id_of_link').on('click',function(){
linkclass = $(this).attr('class');
});
$("div#navigation a").hover(function() {
$('div#bg-nav.').find(linkclass).addClass('bg-active');
},function(){
$('div#bg-nav.').find(linkclass).removeClass('bg-active');
});
});
如果使用