2013-04-07 26 views
0

這是我的CMS將產生如何克隆在查詢列表的內部HTML,敷

<ul> 
    <li>something 1<span>subline</span></li> 
    <li>something 2<span>subline</span></li> 
    <li>something 3<span>subline</span></li> 
</ul> 

這是我的願望以後有,我想克隆每<li>的內容,然後把它包裹在<span>裏面並放在它的前面。

<ul> 
    <li><span class="slidein">something 1<span>subline</span></span>something <span>subline</span></li> 
    <li><span class="slidein">something 2<span>subline</span></span>something <span>subline</span></li> 
    <li><span class="slidein">something 3<span>subline</span></span>something <span>subline</span></li> 
</ul> 

我的問題IST,我知之甚少jQuery的,我知道像html(), appendTo(), clone()功能,...但我試圖把它們放在一起,使這項工作失敗。

我的一個問題是我不知道如何處理self在一次嘗試中,我有自我只是沒有工作。我需要使用each()函數嗎?我相信會有很多方法來做到這一點,但最容易理解的代碼是什麼?

我打算使用克隆的跨度,你猜對了,用另一種顏色樣式將其滑入。我想我必須克隆這個,如果我想在它之前移動完全相同的內容,CSS纔會工作。

解決:

(function($) { 
    $('ul > li').each(function(){ 
     var html = $(this).html(); 
     $(this).html('<span class="slideIn">' + html + '</span>' + html); 
    }); 
})(jQuery); 
+0

他改變編輯之後我告訴他,我的解決辦法BTW。 – 2013-04-09 06:54:18

回答

2
$(function(){ 
    $('ul li').each(function(){ 
     var text = $(this).html(); 
     $(this).html('<span class="slidein">' + text + '</span>') 
    }); 
}); 
+0

;);););););) – 2013-04-08 03:52:33

2

使用.wrapInner()功能;)

$("ul > li").wrapInner("<span class='slidein' />") 
+0

這比我的回答好。所以刪除它。 – karthikr 2013-04-07 23:37:07

+0

@karthikr實際上並不是因爲你們都沒有仔細閱讀,我需要克隆內容,然後只包裹克隆的部分而不僅僅是一切,你的回答實際上幫助了我。我使用html()insead的文本()並修改了函數,進一步查看我的答案。 – 2013-04-07 23:45:48

+0

@Wayne,請不要在你的問題中回答你的問題。 – 2013-04-07 23:54:26