Как Java-разработчик, который пытается преподавать себе шепелявость в попытке стать лучшим программистом, я сказал бы, что хотел бы видеть предложение Josh Block по реализованным закрытиям. Я использую анонимные внутренние классы выражать вещи как то, что сделать с каждым элементом списка при агрегации некоторых данных. К было бы хорошо представить это как закрытие, вместо того, чтобы иметь необходимость создать абстрактный класс.
Мне нравится 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(''))
И Боб - ваш дядя.
Чтобы перебрать символы в строке, которую вы сделал бы это:
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" />' );
}
Вы можете использовать регулярное выражение, которое соответствует одному символу, и заменить каждый символ тегом изображения, содержащим этот символ:
var html = data.replace(/(.)/g, '<img src="$1.png" />')
Шаблон .
соответствует одиночному символу, круглые скобки делают его подходящим для вывода, параметр g
обозначает глобальный, поэтому он заменяет все математические выражения, а не только первое. Маркер $ 1
в строке замены - это место, где будет размещен результат совпадения (символ).