我有一些從PHP腳本動態生成的html。 PHP代碼看起來像這樣使用javascript從特定的div標籤中刪除所有文本節點
echo "<div id='categories'>\n";
foreach($category as $k => $v)
{
echo "<div class='category'>\n";
echo "<div id=\"$k\" class='cat_name'\n>$k</div>\n";
echo "<div id=\"$k".'_link"'." class='cat_link'>\n<a href=$v>Link</a>\n</div>\n";
echo "</div>\n";
}
echo "</div>\n";
我有嘗試訪問這樣
var categories=document.getElementById('categories').childNodes;
for(i=0;i<categories.length;i++)
{
var link=categories[i].childNodes[1].childNodes[0].attributes['href'];
..
...
..
現在這行不通的DOM如預期,因爲在HTML文本節點JavaScript文件。 當我使用的firebug console
嘗試這種
document.getElementById('categories').childNodes[0].nodeType; // displays 3
它顯示3
這意味着該節點是一個text node
。 我試着在window.onload
添加document.normalize();
這樣
window.onload=function() {
document.normalize();
var categories=document.getElementById('categories').childNodes;
...
...
但文本節點保持在html。我如何刪除所有的文本節點。現在我不認爲有像getElementByType()
這樣的方法,所以我如何獲得所有文本節點。
+1,this is great .. –