jQuery 在附加新元素之前填充内容

发布于 2024-12-11 15:47:59 字数 285 浏览 0 评论 0原文

我正在尝试用数据填充featured,然后将其附加到#wrapper。这对我不起作用。我做错了什么?

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

I'm trying to populate featured with data then append it to #wrapper. This isn't working for me. What am i doing wrong?

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

青芜 2024-12-18 15:47:59
var $featured = $('<div id="featured"></div>');
$('#imageTable tbody tr td img').each(function(){
    $featured.append($(this).attr('src')).append('<br />');
});
$featured.appendTo('#wrapper');

说明:

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

var $featured = $('<div id="featured"></div>');
$('#imageTable tbody tr td img').each(function(){
    $featured.append($(this).attr('src')).append('<br />');
});
$featured.appendTo('#wrapper');

Explaination:

When you do this inside the loop $(featured), it creates a NEW div for each selected element, so only the last div will be appended to your #wrapper. You need to create the jQuery object outside of the each loop.

节枝 2024-12-18 15:47:59

这是因为循环内有 $(featured) 调用。您只想调用它一次。

试试这个:

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

It's because you have the $(featured) call inside the loop. You only want to call it once.

Try this:

var $featured = $('<div id="featured"></div>');
$('#imageTable tbody tr td img').each(function(){
    $featured.append($(this).attr('src'));
});
$featured.appendTo('#wrapper');
谁的年少不轻狂 2024-12-18 15:47:59

与 Bryan Ross 非常相似,只是以更有效的方式创建 div。它可能不是那么简单,但我相信它的性能更高。

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

Very Similar to Bryan Ross's, just creating the div in a more efficient manner. It may not be as straight forward, but I believe it is more performant.

var $f = $('<div>',{id:'featured'});
$('img,#imageTable > td').each(function(i){
    $f.append($(this).attr('src');
})
$f.appendTo('#wrapper');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文