2011-12-23 69 views
1

我無法讓JavaScript獲得多個元素與我指定的類。我正在使用類!如果我有5個同班同學,我應該怎麼稱呼他們?獲取元素多個ID或類

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')

回答

1

如果你能夠使用jQuery,我會極力推薦它,它使這樣的事情瑣碎:

$('#idOfYourElement') 
    .mouseenter(function() { $('.new, .new2, .new3').css({MozOpacity : 0.4});) 
    .mouseleave(function() { $('.new, .new2, .new3').css({MozOpacity : 1});); 
+0

會很好,但它不工作..我正在調整Jquery1.6.1 – user920218 2011-12-26 17:23:43

3

我不能讓javascript來獲得與類以上的元素我指定

getElementsByClassName返回的NodeList。只是循環而不是訪問[0],這是它的第一個元素。

我可以使這樣的:.getElementsByClassName('new,new2,new3')

是的,你可以編寫調用getElementsByClassName多次,然後彙總結果的功能。

所有主要的JS庫都包含CSS選擇器引擎,並且有more than a few dedicated libraries for that purpose。您可以將類選擇器的group傳遞給其中的一個。

+0

也許我出了毛病,「環比」 .. Jqueryseemed快,但我是錯過了這個? '$(document).ready(function(){$(「。lazio #sar」)。hover(function(){$(「。lazio」)。animate({opacity:「hide」},「slow」) return false;});}); ' – user920218 2011-12-26 17:40:14

0
[].forEach.call(document.getElementsByClassName('new'), function(elem) { 
elem.style.MozOpacity = 1; 
});