在附加到屏幕之前在javascript变量上使用jQuery .each

时间:2013-10-24 05:23:30

标签: javascript jquery each

如果我有一些保存在变量$ html中的基本html,并且我想在附加到页面之前使用每个(jQuery)语句,我想查看此字符串中每个类的实例和ammend $ 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);
});

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

我还可以使用每个吗?

干杯

2 个答案:

答案 0 :(得分: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);

演示:Fiddle

答案 1 :(得分:0)

试试这个:

$($html).find('.flipper').each(....);