2017-11-11 51 views
0

上......我有jQuery的.hasClass方法的问题。如果一个元素有一个特定的类做的另一件

例如,如果存在.show类的div元素,我希望我的菜单按钮颜色变为红色。

所以我写了这个代码解释这个解决方案

if ($(".navbar-collapse").hasClass("show")) 
    $(".menuIcon").css("color", "red"); 

但是当我测试此代码没有工作...... 我怎么能解决这个问题?

+0

你可以发表你的目标代码? –

回答

0

试试这个:

$(".navbar-collapse.show").find(".menuIcon").css("color", "red"); 

你可以改变菜单中的事件相关联。

+0

不,它不是关于{}当我测试的另一个例子 –

+0

好吧,看更新,将工作:)你可以避开状态。 – Nick

0

只有CSS:

.navbar-collapse.show { 
    color:red!important; 
} 
1

你的代码是完全正确的,它应该工作。只要确保
1-你的jQuery库是存在,coreectly加载。
2-与您的代码相关的样式存在于页面中并且为真
3-在$(document).ready(function(){ });中包含您的代码,以确保样式在代码执行前加载。

$(document).ready(function(){ 
    if ($(".navbar-collapse").hasClass("show")){ 
     $(".menuIcon").css("color", "red"); 
     } 
}); 
+0

你确定吗?因为我认为我不得不使用另一种方法,因为我的show类不是静态的,它将在一个元素中! –

0

您的代码看起来是不错,但您所遇到的问题可能是由于一个或多个以下:

  • 你可能会丢失包括jQuery的(包括它使用script如果标签的话)
  • 你可能有一个错误在控制台(修复它如果是的话)
  • 您的代码可能具有showclass创建或前您的标记之前执行class被添加到该标签
  • showclass可能被添加到另一个标签
  • 您可能希望覆盖background-color代替color
  • 另一个JavaScript可能会覆盖您期望的行为

要获得更确切的回答,你需要问一个更确切的问题。

+0

我稍后再试试这个.... –

+0

我认为这可能是有关!在CSS –

+0

@ mr.md重要的关键字!重要覆盖任何其他规则。什么规则对你来说很重要? –

相关问题