Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在附加到屏幕之前,使用jQuery.each在javascript变量上执行_Javascript_Jquery_Each - Fatal编程技术网

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

在附加到屏幕之前,使用jQuery.each在javascript变量上执行,javascript,jquery,each,Javascript,Jquery,Each,如果我有一些保存在变量$html中的基本html,我想在附加到页面之前使用each(jQuery)语句,我想在这个字符串中查找类的每个实例和ammend$html 这就是我所想的 $('.flipper', $html).each(function(){ var frontContent = $(this).find('.front > .content'); var backContent = $(this).find('.back > .co

如果我有一些保存在变量$html中的基本html,我想在附加到页面之前使用each(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);
});
$('.flipper',$html).each(function(){
var frontContent=$(this.find('.front>.content');
var backContent=$(this.find('.back>.content');
$(this).append(“”+frontContent.html()+“”+backContent.html()+“”);
log($html);
});
这不会运行-我猜是因为我试图更新页面上的元素,而不是存储在变量中的元素

我还能用这两个吗


Cheers

看起来$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);
var html='';
var$html=$(html);
$('.flipper',$html)。每个(函数(){
var frontContent=$(this.find('.front>.content');
var backContent=$(this.find('.back>.content');
$(this).append(“”+frontContent.html()+“”+backContent.html()+“”);
});
log($html[0].outerHTML);
演示:

试试这个:

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

请共享相关的htmlis
$html
是字符串变量吗?嗯。。这不管用。。。它不运行each循环。。但是如果我有这个变量$html=$(html);log($html,“here”);它显示firebug中的每个元素,但显示为灰色out@Dan你试过这个吗fiddle@Dan我得到的o/p是
frontbackfrontbackfront2back2front2back2
它有背景div@Dan在您的情况下,需要使用
.filter()
而不是
.find()
,因为
翻转器
不是子元素。。。试试@Dan,只需使用
html=$html[0]类似