2015-01-06 73 views
0

我想用jQuery的前面加上一個div內的下列:前置的div沒有關閉它們

<div class="section map-wrapper"> 
    <div class="wrapper section group inner-map-wrapper"> 
     <div class="col span_12_of_12"> 

要做到這一點,我用下面的Jquery:

// prepend a 'previous' button to all form-rows except the first  
$('<div class="section map-wrapper">').prependTo($('.mpfy-tags-list')); 
$('<div class="wrapper section group inner-map-wrapper">').prependTo($('.map-wrapper')); 
$('<div class="col span_12_of_12">').prependTo($('.inner-map-wrapper')); 

的問題,這是它是關閉每個div,我不希望它做。我怎樣才能把HTML放在頂端?然後我會在後面追加結尾的div。

+0

你不能這樣做。將元素添加到DOM時,它們必須完全形成。 –

+1

我不認爲你的心智模式是正確的。你不操縱HTML,你正在操縱DOM。你不能把一個元素放入未關閉的dom中。 –

回答

3

你不能。儘管它提供了抽象,但jQuery並不在HTML上運行,它在DOM上運行(沒有開始標籤,也沒有結束標籤,只是元素)。

構建要預先安排的DOM,然後加上它。

var $wrapper = $('<div class="section map-wrapper">'); 
var $inner = $('<div class="wrapper section group inner-map-wrapper">') 
var $col = $('<div class="col span_12_of_12">'); 
$inner.prepend($col); 
$wrapper.prepend($inner); 
$('.mpfy-tags-list').prepend($wrapper);