2011-05-16 11 views
0
$(".IT_Badge").each(function(){ 
    var badges = $(".IT_Badge").val().trim().split(","); 
    for (c = 0; badges.length > c; c++) { 
     currentBadge = badges[c]; 
     currentBadge.replaceWith($("<img/>").attr("src", 'IT_Badges/' + badges[c] + '.png')); 
    } 
}); 

私はそれらにキーワードを含む複数のスパンを持っています。私はキーワードがsrcである画像でキーワードを置き換える必要があります。しかし、私はスパンに配置された画像がIT_Badgeと呼ばれるすべてのスパンに配置されることを心配しています。したがってforループとそれぞれです。私は交換がスパン単位でスパンになるようにしたい。反復+置換スクリプト

答えて

1

最初の繰り返しのたびに、iconInstを配列に設定していません。 iconInstは2番目の繰り返しでは配列ではないようです。これはタイプミスですか?私はあなたがそのような場合は、質問を更新してください、私はあなたが対処しようとしている問題が何であるかについての非常に明確ではないよされていない場合、我々は、そこから続けるでしょう

var iconInst = []; 
$(".IT_Badge").each(function(i, el){ 
    iconInst.push($(this).addClass('Inst' + i)); 
}); 

iconInst.each(function(){ 
    var badges = $(this).val().trim().split(","); 
    for (c = 0; words.length > c; c++) { 
     $(this).contents().replaceWith($("<img/>").attr("src", 'Icon/' + badges[c] + '.png')); 
    } 
}); 

を行うためのものだと思います。

+0

申し訳ありません、iconInstは配列ではなく、そのクラス名が添付されているスパンの各インスタンスを区別する必要があるため、動的に作成されるクラス名です。これらのスパンのインスタンスごとに置換スクリプトを個別に解析/実行する必要があります。しかしそれについて考えると、それは必要ではないかもしれませんか?私は交換が、すべてのスパンの内容を、スパン固有のものではなく、すべての置き換えられたイメージの合計で置き換えることになると心配しました。 –