2017-01-30 11 views
0

私はjsを初めて使用しています。異なる関数で追加された子ノードを削除する方法が不思議です。たとえば、以下の関数では、要素pが変数emptyとして設定され、listingElに追加されます。別個の関数で作成された子ノードへのアクセス

var empty = document.createElement('p'); 
    empty.innerHTML = '<p><div>' + 'Drag map to populate results' + '</div></p>'; 

    empty.style.color = "#FFFFF0"; 
    empty.style.fontSize = 125 + "%"; 
    listingEl.appendChild(empty); 
私は例えばその innerHTMLを変更するか、完全に削除するために、別の関数にこの子 emptyにアクセスする可能性がどのように

?別の関数内で実行されると、私は新しい要素を作成し、それ働く異なる機能、でlistingEl に追加するとき

listingEl.removeChild(empty)は、しかし、動作しません。たとえば、次のように

var back = document.createElement('p'); 
       back.innerHTML = '<p><div>' + 'Hit back arrow to see results' + '</div></p>'; 
       back.style.color = "#FFFFF0"; 
       back.style.fontSize = 125 + "%"; 
       listingEl.appendChild(back); 

なぜappendChild()作業が、removeChild(empty)ありませんか?使用後、削除しなければならないとき

+0

最初の関数から 'empty'を返し、それを呼び出し関数の変数に代入します。 – Barmar

答えて

0

を使用すると、複数の動的に生成されたpタグを持っているなら、あなたはカウンターを維持することができ、その後、

var elem = document.getElementById("appended-p"); 
elem.parentNode.removeChild(elem); 

を追加するときのpにIDを割り当て、および

+0

ありがとうございました! –

関連する問題