Егор Живагин, мне кажется здесь проблемы могут быть только с кодировками. Если для вас это не проблема, то вроде бы ничего страшного в идентификаторах содержащих кириллические символы нет.
Немного оффтоп: скажите, а зачем вы сохраняете предыдущий обработчик вместо того чтоб просто добавить новый с помощью addEventListener, в этом есть какая-то тонкость?
Баба Яга, если речь о том чтобы каждая картинка по загрузке добавлялась с анимашкой, то стоит учитывать что в таком варианте пользователь сначала увидит пустой блок, картинки в него добавятся чуть позже. Если первые несколько картинок загружать в base64, то этого можно избежать.
// Здесь вы создаёте объект регулярки и не сохраняете его
new RegExp(text1, 'g');
textG.replace("(" + RegExp + ")", text2);
// А здесь вы строку "(function RegExp() { [native code] })" заменяете на строку text2
"Masonry срабатывает до того, как загрузятся картинки. " - нет, после. К тому же в исходном коде как раз присутствует imagesLoaded. Но да - фиксированные размеры это одно из решений.
Отвечая на вопрос "Почему masonry сетка не полностью срабатывает при загрузке?" - потому что у вас в коде написано что-то типа "построить masonry сетку когда все картинки загрузятся".
ой всё, и, вероятно, вам стоит ответить на этот вопрос. На самом деле я не могу придумать никакой аргументации, зачем вам это стоит сделать, но мне было бы как минимум интересно.