2014-01-09 27 views
0

我想在稍後的HTML文檔中輸出一些現有的HTML代碼。我不能改變輸出的HTML代碼,只有JS才能這樣做。 相關的代碼是一個無序列表的一類用於其它標籤:JS難度到document.getElements並輸出HTML

<ul class="styling">... 

JS代碼

var AllUl=document.getElementsByTagName("ul"); 
var AdminUL=AllUl.getElementsByClassName("styling"); 
var AdminHTML=AdminUL.outerHTML; 

一切都應該是可見和可編輯在這裏http://jsfiddle.net/fGF7g/3/

很抱歉,如果我有明顯錯誤,我是一個JS初學者。

回答

4

getElementsByTagName返回與給定標記名稱的元素列表,所以你應該做的,如:

var AllUl=document.getElementsByTagName("ul"); 
for(var i = 0; i < AllUl.length; i++) { 
    var AdminUL=AllUl[i].getElementsByClassName("styling"); 
} 
+0

Thx Sudhir(和scrblnrd3)。我試過了,第二步似乎現在好了:http://jsfiddle.net/fGF7g/4/我仍然無法將HTML輸出爲AdminUL(第三步)。 – ChrisR

+0

@ChrisR getElementsByClassName還會返回具有給定類名稱的元素集合,因此您需要循環訪問該對象。請參閱:https://developer.mozilla.org/en-US/docs/Web/API /document.getElementsByClassName –

+0

Thx再次。我需要再次嘗試和理解這一點,因爲現在已經很晚了...... – ChrisR

0

的問題是,document.getElementsByTagNameAllUL.getElementsByclassName返回數組。爲了解決這個問題,你將不得不使用for循環遍歷具有該類名稱的元素,像這樣

var AllUL=document.getElementsByTagName("ul"); 
for(var i = 0; i < AllUL.length; ++i) { 
    var AdminUL=AllUL[i].getElementsByClassName("styling"); 
}