2

私は次のASP(jsバージョン)コードを持っています:

var doc = Server.CreateObject("HTMLFILE");
var doc.write(content);
// the value of content has been set elsewhere and is not of concern
var elements = doc.getElementsByTagName("br");

ここまでは順調ですね。ここで私は問題にぶつかります:

if ((elements) && (elements.length > 0))
doc.removeChild(elements[0]);

この最後のコードフラグメントにより、私のWebサイトに「ページを表示できません」というメッセージが表示されます。私が理解していない舞台裏で何かが起こっていますか?子ノードを削除できないのはなぜですか?ノードの追加は、既存のノードの属性の変更と同様に正常に機能しますが、ノードを削除できません。

4

1 に答える 1

2

removeChild()次のように、削除されるノードの親で呼び出す必要があります。

if (elements && elements.length > 0)
    elements[0].parentNode.removeChild(elements[0]);

または、ヘルパー関数があると便利な場合もあります。

function removeNode(node) {
    node.parentNode.removeChild(node);
}

そして、これを行うことができます:

if (elements && elements.length > 0)
    removeNode(elements[0]);
于 2012-05-28T18:36:45.087 に答える