2011-05-16 83 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不是第二次迭代的数组。这是一个错字吗?我想你打算做

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不是一个数组,只是一个动态创建的类名,因为我需要区分该类名附加的跨度的每个实例。我需要分别解析/运行这些跨度的每个实例的替换脚本。想想看,但也许没有必要?我担心替换会用所有替换图像的总和替换所有的跨度内容,而不仅仅是跨度特定的内容。 – 2011-05-16 18:30:42