【发布时间】:2012-03-10 07:15:49
【问题描述】:
刚刚开始使用 jQuery,我相信这对于那些知道的人来说是基本的东西,但我无法让它工作。
我有一个非常简单且重复的脚本,我试图简化它,当某些链接悬停时,它会改变背景 div 的背景颜色。即每个链接都有一个关联的背景 div。
$('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');
});;
【问题讨论】:
-
你有很多意想不到的
;-->});;-->}); -
我对 javascripting 来说是非常新的!...并且已经订购了一本书来学习!以为我可以通过在线阅读来解决这个问题,但失败了!关于如何实现这一目标的任何指示?是意外的字符阻止了它的工作,还是我偏离了目标百万英里?谢谢!
-
html tbh 没有太多内容,基本的无序导航列表,其中每个链接都有一个唯一的类,那么我所说的背景 div 只是文档中其他地方匹配的元素链接的类。例如悬停时链接 a.classA 应该会影响 div# .classA。
标签: jquery html class variables jquery-selectors