2013-03-14 99 views
0

在下面的字符串中,我试图在post.caption附近添加一个额外的跨度,但将其保留在<span class="overlay" />之内。我试着在.html之前和之后进行prepend和wrap,但不能正确地做到这一点。jQuery:在另一个创建的元素内创建一个元素

$('<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); 

任何帮助将非常感激!

+1

什么post.caption的值? – 2013-03-14 18:11:12

+0

不应该是''? – EmCo 2013-03-14 18:12:08

+0

@EmCo不一定。 '$('')'工作得很好 – 2013-03-14 18:12:37

回答

3

如果post.caption是一个字符串,然后按照我的理解,你还想继续完成它周围的跨度:

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

这一个工作!一切的顺序。非常感谢@mitai和所有这些。 – 2013-03-14 18:22:23

+1

祝你好运!请记住标记答案是正确的,在我能评论这里的东西之前,我还需要多点:) – mitai 2013-03-14 18:24:51

+0

+1也是我的。 – Jai 2013-03-14 18:26:21

3

您可以wrapInner试试这个:

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