2009-11-03 42 views
5

我試圖使用getElementsByTagName(「a」)方法獲取特定標記下的所有元素。Javascript getElementsByTagName

但是,我不想每個錨標籤。我如何縮小它,所以我只選擇「someListClass」名稱的ul標籤下的所有錨標籤?

<ul class="someListClass"> <li><a href... /></li>... </ul>

我知道在jQuery的你可以用$選擇( 「someListClass一」)。

我該怎麼做沒有使用jQuery?

回答

12

給你UL的ID,然後使用

<ul id="ulid" class="someListClass"> <li><a href... /></li>... </ul> 

document.getElementById ("ulid").getElementsByTagName ("a"); 

element.getElementsByTagName

elements = element.getElementsByTagName(tagName); 

元素是在它們出現在 子樹的順序找到 元素的活節點列表。

元素是從哪裏開始搜索的元素。請注意,此元素的後代只有 包含在搜索中 ,但不包含 元素本身。

tagName是看起來合格的名稱 。特殊字符串「*」代表 所有元素。爲了與 XHTML兼容,應該使用小寫。

0

如果沒有一個框架,我能想到的不是手動去,雖然每一個元素沒有別的辦法,並遍歷其父母。如果其中一個有「somelistClass」類,請將其添加到堆棧。否則,不。

如果你正在尋找一個單一元素的孩子,鳳凰的方法是要走的路。

2

可以使用

element.getElementsByTagName(tagName) 

其中元素是UI項目......因此,抓住了UL項目,然後搜索對抗。是這樣的:

<ul class="someListClass" id="myList"> <li><a href... /></li>... </ul> 

var theList = document.getElementById('myList'); 
var listItems = theList.getElementsByTagName('li'); 
相關問題