Цикл через строку с jQuery/javascript

Как Java-разработчик, который пытается преподавать себе шепелявость в попытке стать лучшим программистом, я сказал бы, что хотел бы видеть предложение Josh Block по реализованным закрытиям. Я использую анонимные внутренние классы выражать вещи как то, что сделать с каждым элементом списка при агрегации некоторых данных. К было бы хорошо представить это как закрытие, вместо того, чтобы иметь необходимость создать абстрактный класс.

18
задан Guffa 26 November 2009 в 20:40
поделиться

3 ответа

Мне нравится jQuery.map за подобные вещи. Просто сопоставьте (то есть преобразуйте) каждое число в фрагмент html:

var images = jQuery.map((1234567 + '').split(''), function(n) {
  return '<img src="' + n + '.png" />'
})

images[0]; // <img src="1.png" />
images[1]; // <img src="2.png" />
images[2]; // <img src="3.png" />
// etc...

, который затем вы можете join ('') и вставить в DOM одним быстрым ударом:

$('#sometarget').append(images.join(''))

И Боб - ваш дядя.

23
ответ дан 30 November 2019 в 05:37
поделиться

Чтобы перебрать символы в строке, которую вы сделал бы это:

var s = '123456';
for ( var i = 0; i < s.length; i++ )
{
  // `s.charAt(i)` gets the character
  // you may want to do a some jQuery thing here, like $('<img...>')
  document.write( '<img src="' + s.charAt(i) + '.png" />' );
}
63
ответ дан 30 November 2019 в 05:37
поделиться

Вы можете использовать регулярное выражение, которое соответствует одному символу, и заменить каждый символ тегом изображения, содержащим этот символ:

var html = data.replace(/(.)/g, '<img src="$1.png" />')

Шаблон . соответствует одиночному символу, круглые скобки делают его подходящим для вывода, параметр g обозначает глобальный, поэтому он заменяет все математические выражения, а не только первое. Маркер $ 1 в строке замены - это место, где будет размещен результат совпадения (символ).

10
ответ дан 30 November 2019 в 05:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: