用javascript更改类

时间:2011-09-25 07:35:57

标签: javascript jquery css

我的代码在这里:http://jsfiddle.net/PXU2w/8/

CODE

$('#navigation').hover(function() {

    //Check if element with class 'author' exists, if so change it to 'authornew'
    if ($('div.menu-description').length != 0) $('div.menu-description').removeClass('menu-description').addClass('menu-descriptionnew');
    //Check if element with class 'authornew' exists, if so change it to 'author'
    else if ($('div.menu-descriptionnew').length != 0) $('div.menu-descriptionnew').removeClass('menu-descriptionnew').addClass('menu-description');
 });
});

我想要的是,当menu-description课程的背景文字颜色悬停在menu-descriptionnew上时,我想要这样做。

4 个答案:

答案 0 :(得分:0)

HTML元素的id属性不应包含空格。选择器#navigation li a正在查找列表项中的锚点,该列表项是id = navigation的元素的后代。

答案 1 :(得分:0)

你有两个问题。你的HTML:

<div id="navigation li a">
    Hover over me
</div>

你的CSS:

#navigation li a {

}

Id属性不能包含空格,看起来您尝试将完整的CSS选择器应用为div元素的Id。如果您查看CSS,则选择器用于在列表项(li)内的id({1}}元素内的achor(a)。改变两件事:

#navigation

<div id="navigation">Hover over me</div>

这会将背景正确应用于#navigation { } 元素。

答案 2 :(得分:0)

“navigation li a”是此html的选择器

<ul id="navigation">
   <li><a>you select this element</a></li>
</ul>

这是工作示例:http://jsfiddle.net/Xe9B3/

答案 3 :(得分:0)

你几乎把它弄好了,但你在Javascript部分有一个语法错误。 最后的右括号不是必需的。

http://jsfiddle.net/PXU2w/9/