2013-12-08 54 views
0

您好我使用移除面具DIV:parentNode.removeChild然後追加回

var element = document.getElementById("sal_content_mask_wrapper"); 
element.parentNode.removeChild(element); 

那一切美好刪除一個div ID sal_content_mask_wrapper

現在我需要運行一個檢查,如果除去追加一個div ID sal_content_mask_wrapper轉換爲父級sal_content。下面是我到目前爲止有:

var c = document.getElementById('sal_content_mask_wrapper'); 

    if (!c) { 
     document.getElementById('YN_div').innerHTML = 'No'; /*just a test*/ 
     /* add div sal_content_mask_wrapper back in parent div sal_content?*/ 
    } else { 
     document.getElementById('YN_div').innerHTML = 'Yes'; 
    } 
+1

你能提供的初始頁面看起來像一個的jsfiddle? 問題的一部分是,您從父節點中刪除'sal_content_mask_wrapper',但我們不知道該元素在頁面中存在的位置,其中父節點有很多子節點。 –

回答

0

謝謝!我加的div回來,像這樣:

功能addMask(){

var b = document.getElementById('sal_content_mask'); 

    if (!b) { 

     // Get the parent node 
     var c = document.getElementById("sal_content"); 
     // Create a new div 
     var d = document.createElement("div"); 
     d.id = 'sal_content_mask';    
     // Add the new div 
     c.appendChild(d); 

    } 

} 
0

如果你想要做一個簡單的追加到父,就可以實現這樣的:

HTML代碼:

<div id="content"> 
    <div id="sal_content_mask_wrapper"><span>hello world<b>!</b></span> </div> 
    <div id="YN_div">Answer</div> 
</div> 

JAVASCRIPT CODE:

var element = document.getElementById("sal_content_mask_wrapper"); 
var par = element.parentNode; 
var answer = document.getElementById('YN_div'); 

par.removeChild(element); 

var c = document.getElementById('sal_content_mask_wrapper'); 

if (!c) { 
    answer.innerHTML = 'No'; /*just a test*/ 
    par.appendChild(element) 
} else { 
    answer.innerHTML = 'Yes'; 
} 

但是,就像我提到的那樣,它取決於你希望你的html結構化,因爲parentNode中可能有更多的元素...在這種情況下<div id="content"...Here is a fiddle to experiment.