Javascript jQuery在添加新元素之前填充新元素中的内容

Javascript jQuery在添加新元素之前填充新元素中的内容,javascript,jquery,append,each,Javascript,Jquery,Append,Each,我试图用数据填充特色,然后将其附加到#包装器。这对我没用。我做错了什么 var featured = '<div id="featured"></div>'; $('#imageTable tbody tr td img').each(function(){ $(featured).append($(this).attr('src')); }); $(featured).appendTo('#wrapper'); var=”; $('#imageTable tb

我试图用数据填充
特色
,然后将其附加到#包装器。这对我没用。我做错了什么

var featured = '<div id="featured"></div>';
$('#imageTable tbody tr td img').each(function(){
    $(featured).append($(this).attr('src'));
});
$(featured).appendTo('#wrapper');
var=”;
$('#imageTable tbody tr td img')。每个(函数(){
$(特色).append($(this.attr('src'));
});
$(特色)。附加到(“#包装器”);
var$featured=$('');
$('#imageTable tbody tr td img')。每个(函数(){
$featured.append($(this.attr('src')).append(“
”); }); $featured.appendTo(“#wrapper”);
解释:


在循环
$(特色)
中执行此操作时,它会为每个选定元素创建一个新的div,因此只有最后一个div将附加到
#包装器中。您需要在
每个
循环之外创建jQuery对象。

这是因为在循环内部有
$(特色)
调用。你只想叫它一次

试试这个:

var $featured = $('<div id="featured"></div>');
$('#imageTable tbody tr td img').each(function(){
    $featured.append($(this).attr('src'));
});
$featured.appendTo('#wrapper');
var$featured=$('');
$('#imageTable tbody tr td img')。每个(函数(){
$featured.append($(this.attr('src'));
});
$featured.appendTo(“#wrapper”);

与Bryan Ross非常相似,只是以更高效的方式创建了div。它可能没有那么直截了当,但我相信它更具表现力

var $f = $('<div>',{id:'featured'});
$('img,#imageTable > td').each(function(i){
    $f.append($(this).attr('src');
})
$f.appendTo('#wrapper');
var$f=$('',{id:'featured'});
$('img,#imageTable>td')。每个(函数(i){
$f.append($(this.attr('src');
})
$f.appendTo(“#wrapper”);

哈哈,同时回答了同样的问题。你忘了打开最后一个
$(特色)
电话
var $f = $('<div>',{id:'featured'});
$('img,#imageTable > td').each(function(i){
    $f.append($(this).attr('src');
})
$f.appendTo('#wrapper');