2010-09-03 146 views
2

在我實際的代碼的其餘部分:jQuery的:裹只有第一和第二個孩子,沒有孩子

<div id="mother"> 
    <div id="child-01"></div> 
    <div id="child-02"></div> 
    <div id="child-03"></div> 
</ul> 

我需要製作:

<div id="mother"> 
    <div id="myWrap"> 
     <div id="child-01"></div> 
        <div id="child-02"></div> 
    </div> 
    <div id="child-03"></div> 
</ul> 

我用保鮮膜,wrapAll和孩子玩,但我卡住了。

在此先感謝。


WAO,謝謝!

還有一兩件事,如果在我的實際代碼我有:

<div id="mother"> 
    <div id="child-01"></div> 
    <div id="child-02"></div> 
    <div id="child-03"></div> 
</ul> 

<div id="uncle"> 
    <div id="cousin-01"></div> 
    <div id="cousin-02"></div> 
    <div id="cousin-03"></div> 
</ul> 

我如何產生:

<div id="mother"> 
    <div id="myWrap"> 
     <div id="child-01"></div> 
     <div id="child-02"></div> 
     <div id="cousin-02"></div> 
    </div> 
    <div id="child-03"></div> 
</ul> 

感謝。

回答

2

從您的HTML標識中刪除#。

$("#mother div:eq(0), #mother div:eq(1)").wrapAll("<div id='father'></div>") 
1

sharp不應該是id的一部分。然後,你可以這樣做:

$('#child-01, #child-02').wrapAll('<div id="#mywrap" />'); 
+1

你一定是個音樂家。 :O) – user113716 2010-09-03 17:50:44

6

首先爲Adam說,從你的ID屬性中刪除#前綴。還匹配您的結束標記,目前您有一個</ul>,其中</div>應該是。

然後,您可以使用:lt().wrapAll()這樣做:

$("#mother div:lt(2)").wrapAll("<div id='myWrap'></div>"); 

該得到的一切小於指數2(0和1是第2),然後把它包裝。 You can test it here