jQuery:在另一个创建的元素中创建一个元素

时间:2013-03-14 18:09:51

标签: jquery

在以下字符串中,我尝试在post.caption周围添加额外的范围,但将其保留在<span class="overlay" />内。我已经尝试过.html之前和之后的前置和换行,但是无法正确地执行此操作。

$('<span class="overlay" />').html(post.caption).appendTo(entry);

结果看起来像<span class="overlay"><span>Caption content</span></span>

如果有帮助,这里是完整的代码段:

entry = $('<a />').attr('href', post.permalinkFull)
        $('<img />').attr('src', post.image).appendTo(entry)
        $('<span class="overlay" />').html(post.caption).appendTo(entry);

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:3)

您可以使用wrapInner

尝试此操作
$('<span class="overlay" />').html(post.caption)
                             .wrapInner('<span />').appendTo(entry);

答案 1 :(得分:3)

如果post.caption是一个字符串,那么据我所知你也想创建它周围的范围:

$('<span>').html(post.caption).appendTo(entry).wrap('<span class="overlay" />');