0

如果我有一些基本的 html 保存在变量 $html 中,并且我想在附加到页面之前对其使用 each (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);
});

这没有运行 - 我想是因为我试图更新页面上的元素而不是存储在变量中的元素

我还能使用 each 吗?

干杯

4

2 回答 2

1

看起来 $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);

演示:小提琴

于 2013-10-24T05:30:56.973 回答
0

试试这个:

$($html).find('.flipper').each(....);
于 2013-10-24T05:31:39.537 回答