Javascript Jquery更改徽标

Javascript Jquery更改徽标,javascript,html,jquery,css,Javascript,Html,Jquery,Css,我试图使标志白色时,图片有一个黑暗的对比和相反的白色模式。我尝试过用jquery添加类,但它不起作用。即使使用css,我认为我在“if($(“.carousel item”).hasClass(“黑色徽标”){….”方面也有问题 感谢您的帮助 $(文档).ready(函数(){ if($(“.carousel item”).hasClass(“黑色徽标”)){ $(“img.logo2”).addClass(“隐藏徽标”); $(“img.logo1”).removeClass(“隐藏徽标”

我试图使标志白色时,图片有一个黑暗的对比和相反的白色模式。我尝试过用jquery添加类,但它不起作用。即使使用css,我认为我在“if($(“.carousel item”).hasClass(“黑色徽标”){….”方面也有问题 感谢您的帮助

$(文档).ready(函数(){
if($(“.carousel item”).hasClass(“黑色徽标”)){
$(“img.logo2”).addClass(“隐藏徽标”);
$(“img.logo1”).removeClass(“隐藏徽标”);
}
});
正文{
字体系列:“Roboto”,无衬线;
}
.顶{
背景色:#000;
不透明度:0.9;
}
a{
颜色:#fff;
线高:24px;
字体大小:11px;
文本转换:大写;
过渡:1s轻松;
}
a:悬停{
颜色:#eee;
文字装饰:无;
}
.滑块{
高度:100vh;
}
.row.logo-section{
位置:绝对位置;
最高:8%;
左:2%;
z指数:99999;
}
.第一排{
位置:固定;
z指数:9999;
宽度:100%;
}
.隐藏徽标{
显示:无;
}
.行.滑块.列-md-12{
填充:0;
}
.传送带项目{
转换:-webkit转换。6s易入易出;
转换:转换。6s易进易出;
转换:转换.6s易入易出,-webkit转换.6s易入易出;
}

网站

如果您可以使用普通js,您可以通过以下方式使用
切换

//这里您将获得一个项目的节点列表,最好使用id来获取项目
//const carouselItem=document.getElementByClassName(“carousel项”)
const carouselement=document.getElementById(“carourel元素”);
const hasBlackLogoClass=carouselement.classList.contains(“黑色徽标”);
const firstLogo=document.queryselectoral(“img.logo1”);
const secondLogo=document.queryselectoral(“img.logo2”);
firstLogo.classList.toggle(“隐藏logo”,hasBlackLogoClass);
secondLogo.classList.toggle(“隐藏logo”,!hasbacklogo类);

它不工作的原因是您没有检查所有的
旋转木马项目

您需要使用
$。每个
循环浏览所有项目,然后
移除类
从徽标中隐藏徽标

请阅读更多有关美元的信息

运行下面的代码段以查看它是否正常工作

$(文档).ready(函数(){
//项目
var carouselItem=$('.carousel项目')
//循环遍历每个.carousel项目
$。每个(旋转木马,功能(i,键){
if($(key.hasClass('black-logo')){
$(“.logo2”).addClass(“隐藏徽标”);
$(“.logo1”).removeClass(“隐藏徽标”);
log('divs='+i中找到的黑色徽标类)
console.log('hide-logo类已从logo1'中删除)
}
})
});

网站

你测试过你的解决方案和答案了吗?问题中没有ID,因为
carourel元素
只是一个类。你的代码不会工作,因为它会抛出
Uncaught TypeError:Cannot read属性'classList'为null
它会稍微修改一下,因此我添加了注释“这里您将获得项目的节点列表,最好使用id来获取项目”您也可以尝试使用
className
查看。它没有按照OP的要求工作。我的解决方案对您有帮助吗?如果有,请不要忘了向上投票并接受“答案”