2016-08-23 24 views
-3

親の外に子を移動しようとすると、バニラJavaScriptで親自体を削除しようとしています。HTMLの子要素を親から外して親要素を削除する

<div class="parent"> 
    <div class="child"></div> 
    <div class="child"></div> 
</div> 

所望の出力:

<div class="child"></div> 
<div class="child"></div> 
+0

を。 – JonH

+0

最後に私は覚えています、HTMLはコードです。私はこのような状況に近づく方法を理解したいので、私が持っているものを単純化したものを作り直しました。 –

+0

右...しかし、クライアント側のコードを試してみたように、あなたは静的なhtmlを投稿したことはありませんでした。 – JonH

答えて

2

innerHTMLプロパティにouterHTMLプロパティを設定してみてください現在のコードは次のようになります。

const parent = document.querySelector('.parent') 
parent.outerHTML = parent.innerHTML 

ライブデモを参照してください:笑現在のコードは次のようになります...何code..itsあなたのHTMLはありません

console.log('Before change: ', document.querySelector('.container').innerHTML) 
 

 
const parent = document.querySelector('.parent') 
 
parent.outerHTML = parent.innerHTML 
 

 
console.log('After change: ', document.querySelector('.container').innerHTML)
<div class="container"> 
 
    <div class="parent"> 
 
    <div class="child"></div> 
 
    <div class="child"></div> 
 
    </div> 
 
</div>

+0

これは、外部HTMLが親の外にあるdivを上書きしないのはなぜですか?これは私が望むものです。私はちょうど興味があります。なぜなら、外側のHTMLの新しいコンテンツは子供だけになると思っていたからです。 –

+0

@AoC 'element.innerHTML'は要素の内容です。 'element.outerHTML'は要素の内容に加えて要素の内容です。 https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTMLとhttps://developer.mozilla.org/en-US/docs/Web/API/Element/outerHTMLを参照してください。 –

関連する問題