Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如果一个元素有一个特定的类,在另一个元素上做某事_Jquery_Html_Css - Fatal编程技术网

Jquery 如果一个元素有一个特定的类,在另一个元素上做某事

Jquery 如果一个元素有一个特定的类,在另一个元素上做某事,jquery,html,css,Jquery,Html,Css,我对jquery中的.hasClass方法有一个问题 例如,当我的div元素和.show类存在时,我希望我的菜单按钮颜色变为红色 所以我写了这段代码来解释这个解决方案 if ($(".navbar-collapse").hasClass("show")) $(".menuIcon").css("color", "red"); 但是当我测试时,这个代码不起作用。。。 如何解决此问题?尝试以下方法: $(".navbar-collapse.show").find(".menuIcon")

我对jquery中的
.hasClass
方法有一个问题

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

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

 if ($(".navbar-collapse").hasClass("show"))
    $(".menuIcon").css("color", "red");
但是当我测试时,这个代码不起作用。。。 如何解决此问题?

尝试以下方法:

$(".navbar-collapse.show").find(".menuIcon").css("color", "red");
您可以将其与更改菜单的事件关联。

仅与css关联:

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

您的代码是完全正确的,应该可以正常工作。只要确保
1-您的jquery库已存在并正确加载。
2-与代码关联的样式存在于页面中,且为true
3-将代码包含在
$(document).ready(function(){})中以确保在执行代码之前加载样式

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

您的代码看起来正常,但您遇到的行为可能是由于以下一个或多个原因造成的:

  • 您可能没有包含jquery(如果是,则使用
    脚本
    标记包含它)
  • 您的控制台中可能有错误(如果有,请修复)
  • 您的代码可能在创建具有
    show
    class
    的标记之前执行,或者在将
    show
    class
    添加到标记之前执行
  • show
    可能会添加到另一个标记中
  • 您可能希望覆盖
    背景色
    ,而不是
    颜色
  • 另一个javascript可能会覆盖您想要的行为

为了得到更准确的回答,你需要问一个更准确的问题。

不,这不是关于{}当我测试另一个示例时,它会起作用。你能发布你的目标代码吗?我想可能是关于!中的重要关键字css@mr.md !重要信息优先于任何其他规则。规则是什么!对你来说重要吗?