Jquery 如果一个元素有一个特定的类,在另一个元素上做某事
我对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")
.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 !重要信息优先于任何其他规则。规则是什么!对你来说重要吗?