2011-02-10 42 views
2

我正在使用HTML + jQuery。目前,通过HTML看起来像这样(#1):jQuery - 包装页面

<body> 
    <div id="container"> 
     <div id="wrapper"> 
      other stuff 
     </div> 
    </div> 
</body> 

我想要的HTML看起来像这样从一开始(#2):

<body> 
    other stuff 
</body> 

我想使用jQuery将#container和#wrapper插入到DOM/HTML中,如#1所示。 我该怎么办?

+0

你想开始与空体和注入两个div? – Perpetualcoder 2011-02-11 00:00:30

+0

你想插入内容到这些div吗? – 2011-02-11 00:00:31

回答

1

我不确定你的意思,但那些元素已经在DOM中了。如果你想这样做动态的,而不是,你可以这样做:

$(document).ready(function(){ 
    $('body').append('<div id="container"><div id="wrapper">other stuff</div></div>'); 
}); 

就是这样


还有更“干净”的方式做到这一点,使用JavaScript的HTML模板。这将是这样的:

<body> 
    <!-- all your body content goes here --> 
    <script type="text/html" id="mytemplate"> 
    <div id="container"> 
     <div id="wrapper"> 
     .. more stuff .. 
     </div> 
    </div> 
    </script> 
</body> 

然后在你的JavaScript:

$(document).ready(function(){ 
    $('body').append($('#mytemplate').text()); 
}); 

公告前的脚本标签定义为 “text/html的”,而不是 “文/ JavaScript的”

方式

好运

0

按照更新的问题:

$(function(){ 
    var content = $('body').html(); 
    $('body').html('<div id="container"><div id="wrapper">'+content+'</div></div>'); 
}); 
0
function CreateDIVTag(divId,divContent){ 
var tag = document.createElement('div'); 
tag.id= divId; 
tag.innerHTML = divContent; 
return tag; 
} 
var content = 'blah blah blah'; 

$(document).ready(function(){ 
$('body').append(CreateDIVTag('container',CreateDIVTag('wrapper',content))); 

}); 

我会在这条线上做点事情。我并不太热衷于强大的代码,并直接在js代码中使用标记。