如何使用javascript更改特定的css元素?

如何使用javascript更改特定的css元素?,javascript,css,user-interface,web,Javascript,Css,User Interface,Web,任何建议都将不胜感激,我相信这对你们中的一些网络向导来说很简单。非常感谢您抽出时间 我有一些css,当用户将鼠标悬停在.png上时,它会改变.png的显示部分: .small_icons ul li.companyButton .circle {background-position:0 0;} .small_icons ul li.companyButton:hover .circle {background-position:0 -56px;} 然后,当用户单击图像时,我希望将位置保持在0

任何建议都将不胜感激,我相信这对你们中的一些网络向导来说很简单。非常感谢您抽出时间

我有一些css,当用户将鼠标悬停在.png上时,它会改变.png的显示部分:

.small_icons ul li.companyButton .circle {background-position:0 0;}
.small_icons ul li.companyButton:hover .circle {background-position:0 -56px;}
然后,当用户单击图像时,我希望将位置保持在0-56px,当用户单击其他图像时,我希望切换回0。这一切都发生在同一个页面上,所以我想我必须使用javascript onclick函数

我似乎不知道如何使用javascript访问特定的css元素。我试过:

document.getElementByClass("circle").style.background-position:0 -56px;
但这并没有改变任何事情。是因为.circle是.companyButton的子类,而.companyButton是.small_图标的子类

非常感谢

您需要这样做

document.getElementsByClassName("circle")[0].style.backgroundPosition:0 -56px;
阅读更多关于它的信息

你搞砸了打字

document.getElementsByClass(“圆圈”)是
Nodelist
()。所以你应该循环使用它,或者使用

 document.getElementsByClass("circle")[0].style.background-position="0 -56px";
通过你需要的

var circles=document.getElementsByClass("circle")
for (var index=0;index<circles.length;index++) {
  circles[index].style.background-position="0 -56px";
}
var circles=document.getElementsByClass(“circle”)

对于(var index=0;index)这不是有效的JS语法。甚至在提出问题之前的第一步是。请接受任何答案,这将有助于你长期考虑问题