2012-05-27 54 views
0

http://jsbin.com/uxepap/17/edit包裹從X到使用jQuery

如何包裝從第三所有鏈接最後一個<span class="wrap"></span>ÿ項目?

嘗試進行修復,如果有效,鏈接將在帶有填充的紅色背景上。

注:應該裏面a_items VAR進行封裝和剛剛然後通過.html();

表明截至目前,沒有任何可行的解決方案。

+0

你演示了'顯示:上的鏈接block'。內嵌元素內不能有塊元素。這是爲什麼它有助於在問題中發佈相關代碼的一個例子。 – 2012-05-27 15:14:39

+1

你是什麼意思*「應該是包裝內的'鏈接var,然後顯示...」*?元素在DOM中。如果你包裝元素,它們被包裝在DOM *中,而不管變量。應該沒有理由使用'.html()'。 – 2012-05-27 15:24:56

+0

排序使鏈接 – Jasper

回答

0
$('a:gt(2)').wrap('<span/>'); 

DEMO 1

var links = $('a'); 
var last = links.filter(':gt(2)'); 
last.wrap('<span/>'); 

DEMO 2

據編輯

$('div a').map(function(index, item) { 
    if(index > 2) { 
     return $(item).wrap('<span class="wrap"/>').get(0) 
    } else return $(item); 
}); 

DEMO 3

+0

一起使用它應該與'鏈接'var – Jasper

+0

@Steve檢查'DEMO 2'與'鏈接'var – thecodeparadox

+0

鏈接應該被包裹在'links'var中,因爲我們在包裝後立即顯示它們。 – Jasper

0

jQuery具有slice(),它將您從選定的開始索引中選擇的內容過濾爲選定的可選結束索引。

Here's a sample

var last = $('a')  //store them in last 
    .slice(2)   //get third to last 
    .remove()   //remove them from the DOM 
    .wrap('<span>'); //wrap them in span 
+0

不起作用http://jsbin.com/uxepap/11/edit – Jasper

+0

鏈接應該包裹在'鏈接'var中,我們只是在包裝後顯示它們(替換當前鏈接) – Jasper

+0

@Steve更新。 – Joseph

0

.wrap包裹每個元素。使用wrapAll包裝一組元素:

last.wrapAll('<span></span>'); 
+0

只是wrapAll不工作 – Jasper

+0

也許我不明白你準備實現什麼 – ori

+0

更新了問題 – Jasper

0
var links = $('a').slice(2, $('a').length); 
    links.wrap('<span/>'); 
+1

slice的結束索引是可選的,並且默認結束 – Joseph

+0

它應該被包裝在var **裏面,不是馬上 – Jasper

+0

@史蒂夫:那沒有道理。元素目前在DOM中。你怎麼才能讓它們只從一個變量引用進行包裝,而沒有實際將它們包裝在DOM中呢? – 2012-05-27 15:26:18