2011-08-10 10 views
1

というタイトルは私の必要性をよく説明しないかもしれません。基本的に、ページの始めに、私は20 divsのように、それぞれがcal001、cal002 ...のidをcal020に持っています。divから特定のdivクラスを取得し、その関数に基づいて

ページの最後には、それぞれのクラスにtocal001、tocal002などのクラスがあります。これらのdivには異なるクラスもあります。クラスtocal001のdivがあるとします。javascriptでtocalで始まる特定のクラスを認識させ、clone().after()をcal001 divに認識させるにはどうすればよいですか?

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

追加するには::tocal...を取得するには

答えて

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

@Henryもまたバグアウトしますあなたのページに同じ番号の**終了**の他のIDがある場合は作業します)。 – Neal

5

ここ

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

関連する問題