jQuery如果myDiv是:visible,addclass到另一个元素

时间:2011-09-16 20:44:55

标签: jquery html css

我再次进入jQuery,显然我错过了一些东西。

我想根据另一个是否可见来为元素添加一个类。

隐藏display: none;并使用slideToggle

激活

我有这个:

if ($("#about_me").is(':visible')){
        $("#about_me_clicker").addClass(".about_highlight"); 
    } else {
}

现在我假设我完全错了,所以here's a fiddle for you to see

如果另一个是:可见?

,如何将此类添加到某个div中

感谢。

编辑:

为了清楚起见,我将只将该类应用于一个元素。

4 个答案:

答案 0 :(得分:3)

变化:

$("#about_me_clicker").addClass(".about_highlight");

要:

$("#about_me_clicker").addClass("about_highlight");

您无需在.的类名中加入addClass

另外,在你的小提琴的CSS中:

.about_highlight
{
    color; #f00;
}

应该是:

.about_highlight
{
    color: #f00;
}

另一个注意事项,在CSS中,id优先于类。因此,即使div具有类about_highlight#about_me_clicker中声明的颜色也将处于活动状态。

<击> 要解决此问题,您可以使用!important

.about_highlight
{
    color: #f00 !important;
}

<击>

要解决此问题,只需制作更具体的CSS规则。

#about_me_clicker.about_highlight
{
    color: #f00;
}

更新了小提琴:http://jsfiddle.net/YVqJ7/20/

答案 1 :(得分:3)

这个小提琴中有一堆错误:

color; #f00;

应该是冒号而不是分号。

$("#about_me_clicker").addClass(".about_highlight"); 

删除.应该只是该类的名称。

您在CSS结尾处遗漏了}

最后,您的#about_me_clicker css优先于.about_highlight

答案 2 :(得分:0)

试试这个

http://jsfiddle.net/genesis/YVqJ7/8/

!important添加到颜色中,同时删除addClass(".about_highlight")中的点(所以它是addClass("about_highlight")

答案 3 :(得分:-1)

只是没有点

if ($("#about_me").is(':visible')){
  $("#about_me_clicker").addClass("about_highlight");
} else {}