Javascript 如何将ElementByClass转换为更大的类?
我试图用一个按钮功能来改变标题的颜色 我的css:Javascript 如何将ElementByClass转换为更大的类?,javascript,html,css,Javascript,Html,Css,我试图用一个按钮功能来改变标题的颜色 我的css: .navbar-brand > a { color: #fff; } 我的js: function myFunction() { document.getElementsByClassName("navbar-brand > a").style.color = "black"; } 页面 感谢您的帮助 /S这里最简单的解决方案是使用document.querySelector。请记住,我假设只有一个元素与CSS选择器
.navbar-brand > a {
color: #fff;
}
我的js:
function myFunction() {
document.getElementsByClassName("navbar-brand > a").style.color = "black";
}
页面
感谢您的帮助
/S这里最简单的解决方案是使用
document.querySelector
。请记住,我假设只有一个元素与CSS选择器匹配
document.querySelector('.navbar-brand > a').style.color = 'black';
如果您希望更改多个与您使用的CSS选择器匹配的元素,那么您应该使用document.querySelectorAll
const uiElements = document.querySelectorAll('.navbar-brand > a');
uiElements.forEach(uiElement => {
uiElement.style.color = 'black';
});
但是,回到您原来的问题,如果您绝对必须使用document.getElementsByClassName
,那么解决方案(同样适用于多个元素)如下所示:
const navbarElements = document.getElementsByClassName('navbar-brand');
navbarElements.forEach(uiElement => {
uiElement.querySelector('a').style.color = 'black';
});
希望这有帮助 document.querySelector(“.navbar brand>a”).style.cssText=“color:#000;”如果您正在开发一个小型网站,我建议您选择jQuery。您可以通过CDN简单地添加它,只需使用简单的CSS选择器即可获得所需内容。您的代码将变成:$(“.navbar brand>a”).css('color','black')@JacksonquerySelectorAll
与“ES6”无关……请注意,GetElementsByCassName
和querySelectorAll
都返回多个元素,因此必须循环结果。请向坦斯克寻求帮助!selectorAll是狗屎!!:)成功了!非常感谢!第一个解决方案工作得很好,正如您所假设的那样,我只有一个CSS选择器元素。但我想对我的菜单做一些相同的元素,我尝试你的选择,但这似乎不适合我。未按下“我的菜单链接”的以下代码<代码>正文:非(.theme-preset-active)#报头。导航栏nav>li>a
当前正文:非(.theme-preset-active)#maisthead.navbar nav>li.current_page_item>a
第二个解决方案是否最好?是的,未按下的链接CSS选择器将需要返回多个元素-因此,在这种情况下,请使用document.queryselectoral
。您当前的项目可能会返回一个元素(因为一次只能选择一个元素),因此您应该可以使用document.querySelector
进行选择。