私は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";
のように私は、HTMLのテキストノードが存在するので、予想通り、この
var categories=document.getElementById('categories').childNodes;
for(i=0;i<categories.length;i++)
{
var link=categories[i].childNodes[1].childNodes[0].attributes['href'];
..
...
..
今、このdoesntの仕事のようにDOMにアクセスしようとしたJavaScriptファイルを持って見えます。私はこの
document.getElementById('categories').childNodes[0].nodeType; // displays 3
をしようとするfirebug console
を使用する場合 それはノードがtext node
であることを意味している3
を表示します。 私はこの
window.onload=function() {
document.normalize();
var categories=document.getElementById('categories').childNodes;
...
...
ようwindow.onload
でdocument.normalize();
を追加しようとしたが、テキストノードは、HTML内に残ります。どのように私はすべてのテキストノードを削除することができます。今私は、どのようにすべてのテキストノードを取得するのですかgetElementByType()
のようなメソッドがあるとは思わない。
+1、これは素晴らしいです.. –