2013-02-21 44 views
1

是否有可能使用jQuery在標有標籤將1 div分成2個獨立的div?

在此代碼示例我在想一個指定點到1事業部拆分爲2倍div的將有可能到div在「時間標籤」分裂,使 2 div的

<div> 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit,</p> 
    <em></em> 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit,</p> 
</div> 

<div> 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit,</p> 
</div> 
<div> 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit,</p> 
</div> 
+0

是的,這是可能的。獲取div的innerhtml,在em上分割字符串。然後將其解析爲2個div – 2013-02-21 09:45:41

回答

0

您可以創建一個主DIV和使用的append()函數的任何HTML追加到它。 例如:

<div id='main'> 

    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, </p> 

    <em></em> 

    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, </p> 

</div> 

jQuery中:

varHtml = $('#main').html(); 

// You can use JS function to split 

$('#main').html(""); 

$('#main').append('<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit,</p><em></em>'); 

$('#main').append('<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, </p>'); 
0

不是很漂亮,但將努力:

$('div').after(function() { 
    return $('<div>').append($(this).find('.break').nextAll()); 
}).find('.break').remove(); 

提供您的制動元件具有.break類(<em class="break"></em>)。

http://jsfiddle.net/U3p3e/

1

您可以使用下面的代碼來解決問題。爲此,爲父div分配一個id,並在保留其內部html後移除它的html。我們可以在將它的html存儲在一個變量中後刪除父div,但我不這樣做,因爲我們必須將修改後的html放在同一個地方。

var divhtml = $("#divId").html(); 
var myps = divhtml.split("<em></em>"); 
var myhtml = "<div>"+myps[0]+"</div><div>"+myps[1]+"</div>"; 
$("#divId").html(myhtml); 

如果您必須刪除父標籤,你可以得到最後一個元素的ID,存放在變量的HTML後刪除主DIV和最後一個元素之後把旁邊的修改HTML。

相關問題