2013-12-08 56 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.