我无法使javascript在我指定的类中获得多个元素。我有意使用类!!如果我有5个同一个班级的div,我应该怎么称呼它们?
onmouseover="document.getElementById('logo').style.display='inline';"
onmouseout="document.getElementById('logo').style.display='none';"
onmouseover="document.getElementsByClassName('new')[0].style.MozOpacity=0.4;"
onmouseout="document.getElementsByClassName('new')[0].style.MozOpacity=1;"
我可以制作类似:.getElementsByClassName('new,new2,new3')
答案 0 :(得分:3)
我无法让javascript在我指定的类中获得多个元素
getElementsByClassName
返回NodeList。只需循环遍历它,而不是访问[0]
,这是其中的第一个元素。
我可以制作类似:
的内容.getElementsByClassName('new,new2,new3')
是的,您可以编写一个多次调用getElementsByClassName
的函数,然后汇总结果。
所有主要的JS库都包含CSS选择器引擎,并且more than a few dedicated libraries for that purpose。您可以将group类选择器传递给其中一个。
答案 1 :(得分:1)
如果你能够使用jQuery,我会强烈推荐它,它会使这些事情变得微不足道:
$('#idOfYourElement')
.mouseenter(function() { $('.new, .new2, .new3').css({MozOpacity : 0.4});)
.mouseleave(function() { $('.new, .new2, .new3').css({MozOpacity : 1}););
答案 2 :(得分:0)
[].forEach.call( document.getElementsByClassName('new'), function( elem ) {
elem.style.MozOpacity = 1;
});