Итерация сценарий замены

#jquery #arrays #loops #replace

#jquery #массивы #циклы #заменить

Вопрос:

 $(".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 и each. Я хочу, чтобы замена производилась поэтапно.

Ответ №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'));
    }
});
  

Если это так, пожалуйста, обновите вопрос, и мы продолжим оттуда, если нет, я не очень понимаю, с какой проблемой вы пытаетесь справиться.

Комментарии:

1. Извините, iconInst — это не массив, а просто имя класса, которое создается динамически, потому что мне нужно различать каждый экземпляр промежутков, к которым присоединено это имя класса. Мне нужно проанализировать / запустить сценарий замены для каждого экземпляра этих сегментов по отдельности. Хотя, если подумать, может быть, в этом нет необходимости? Я беспокоился, что замена заменит все содержимое span суммой всех заменяемых изображений, а не только конкретными изображениями span.