2014-01-22 76 views
4

我需要的是找到一個具有特定id的div,然後找到任何具有特定類的元素,並使其中的第一個不可見。我曾嘗試如何獲得已在JavaScript中找到的div內的特定類的元素?

var hostDivName = "theHostDivName"; 
var hostDiv = document.getElementsByName(hostDivName); 
var theElements = hostDiv.getElementsByClassName("theClassDivName"); 
theElements[0].style.display = "none"; 

但它hostDiv.getElementsByClassName("theClassDivName");

Object #<NodeList> has no method 'getElementsByClassName' 

錯誤失敗。

那麼正確的方法是什麼?只要看起來合理,我寧願使用純JavaScript(而不是jQuery或其他)。

+1

getElementsBy *函數返回元素的數組,你需要通過它循環。 –

+0

謝謝,@PatrickEvans的確如此,看起來很明顯...... – Ivan

回答

9

如果它是一個ID,你爲什麼要使用getElementsByName,而不是getElementById

var hostDivName = "theHostDivName"; 

var hostDiv = document.getElementById(hostDivName); 

var theElements = hostDiv.getElementsByClassName("theClassDivName"); 

theElements[0].style.display = "none"; 

假設你的意思是名稱,而不是ID

var hostDiv = document.getElementsByName(hostDivName)[0]; 
相關問題