Если у меня есть базовый html, который сохраняется в переменной $ html, и я хочу использовать каждый (jQuery) оператор на нем перед добавлением на страницу, и я хочу посмотреть в этой строке для каждого экземпляра класса и исправить $ html,
Это то, о чем я думал...
$('.flipper', $html).each(function(){
var frontContent = $(this).find('.front > .content');
var backContent = $(this).find('.back > .content');
$(this).append('<div class="background"><div class="content">' + frontContent.html() + '<div class="back">' + backContent.html() + '</div></div></div>');
console.log($html);
});
это не работает - я думаю, потому что я пытаюсь обновить элемент на странице, а не один, хранящийся в переменной
Могу ли я использовать их каждый?
ура
Похоже, что $ html является строкой, а не ссылкой на элемент dom... в этом случае изменения, внесенные в элементы цикла, не будут отражены в исходной строке.
Попробуйте что-нибудь вроде
var html = '';
var $html = $(html);
$('.flipper', $html).each(function () {
var frontContent = $(this).find('.front > .content');
var backContent = $(this).find('.back > .content');
$(this).append('<div class="background"><div class="content">' + frontContent.html() + '<div class="back">' + backContent.html() + '</div></div></div>');
});
console.log($html[0].outerHTML);
Демо: скрипка
Попробуй это:
$($html).find('.flipper').each(....);
$html
является строковой переменной?