2011-08-10 18 views
1

標題可能無法很好地解釋我的需要。基本上,頁面開始時,我有20個div,每個都有cal001,cal002 ...的id到cal020。從div得到一個特定的div類,並基於該功能做一個函數

然後在頁面結尾處,我有一堆div,每個div都有類似tocal001或tocal002的類。這些div可能也有不同的類。說我有一個類tocal001的div,我怎樣才能讓javascript認識到以calcal爲開頭的特定類並且在cal001 div中使用clone().after()

回答

1
$('[id^="tocal"]').each(function(){ 
    var tmpid = this.id.replace('to',''); 
    $(this).clone().insertAfter($('[id$="' + tmpid + '"]')); 
    $(this).remove(); 
}); 

演示:http://jsfiddle.net/AlienWebguy/4TK5d/

如果你想刪除重複和簡單的「洗牌」的行:

$('[id^="tocal"]').each(function(){ 
    var tmpid = this.id.replace('to',''); 
    $(this).remove().insertAfter($('[id$="' + tmpid + '"]')); 
}); 

演示:http://jsfiddle.net/AlienWebguy/4TK5d/1/

+0

謝謝!我選擇你,因爲它看起來更簡單... – Henry

+0

@Henry - 我不知道爲什麼,我的答案就是一樣簡單,我只是將它分成步驟爲你^ _^ – Neal

+1

@亨利也這將bug out(而不是工作),如果您的網頁上有其他身份證件,**結尾**號碼相同。 – Neal

5

要獲得tocal...

var tocal = $('[id^="tocal"]'); 

要追加:

tocal.each(function(index, item){ 
    var $item = $(item); 
    var id = item.id; 
    var num = id.substr(id.length - 3, 3); 
    $item.clone().insertAfter($('#cal' + num)); 
}); 

這裏是一個演示:http://jsfiddle.net/maniator/gRhCC/

+0

太感謝你了!如果我可以選擇多個選中的答案,我也會選擇你,因爲你的答案也很棒! – Henry

相關問題