2016-11-08 9 views
0

私は、作業しているファイルのhtmlディレクトリの.jsファイルを作成しました。 .jsファイルの目的は要素IDを削除することです。だから、私の.jsファイルで私は現在、完全に正常に動作し、私は何をする必要があるかないスクリプト複数のhtmlページで実行する単一の.jsファイル

var element=document.getElementById("id1"); 
element.parentElement.removeChild(element); 

を持っています。私は

var element = document.getElementById("id1"); 
element.parentElement.removeChild(element); 

var elem = document.getElementById("id2"); 
elem.parentElement.removeChild(elem); 

のみ最初のスクリプトが実行される別のhtmlページのid要素を削除するには、追加のスクリプトを含めるようにした第二はほかにいない場合は今、私がメッセージを受信「キャッチされないタイプのエラー:読み込むことができません私は、各HTMLページが.jsファイルを読み込み、それも参照している対応する要素と一致し、変更を加えると思います。

+2

http://stackoverflow.com/q/14028959/669576 –

+0

"別のhtmlページ"とはどういう意味ですか? – guest271314

+0

A.htmlとB.html異なるhtmlページの例 – NickJ

答えて

0

Uncaught type error: cannot read 'parentElement' of nullは、指定されたIDを持つ要素を見つけることができなかったことを意味します。したがって、親要素を見つけようとすることはできません。これをより汎用的にするには、関数に抽象化してみてください。

function removeElementById(elId) { 
    var el = document.getElementById(elId); 
    if (el) { 
     el.parentNode.removeChild(el); 
    } 
} 

ここで、要素を削除しようとすると、その要素を親から削除しようとする前に、まず「偽」でないことを確認します。

0

これは、既存の要素でない要素のparentElementがnullであり、nullがメソッド 'removeChild'を持たないためです。要素が存在するかどうかを確認する必要があります。

var element=document.getElementById("id1"); 
if(element) { 
    element.parentElement.removeChild(element); 
} 
0

見つけようとした要素(id2)は、srciptが実行されているときにDOMに存在していない可能性があります。そのメソッドにアクセスする前にnullであるかどうかを確認する必要があります。

関連する問題