jquery html <span> 之后的新元素

jquery html new element after <span>

我有这个HTML:

<div data-value="1606132800">
   <span>23</span>
</div>

而且,我想使用 jQuery 在我的 span 之后添加一个 p 标签,如下所示:

<div data-value="1606132800">
   <span>23</span>
   <p>1$</p>
</div>

我试过:

$("div[data-value='"+key+"'] > span").html('<p>'+value.price+' '+currency+'</p>');
$("div[data-value='"+key+"']").children('span').html('<p>'+value.price+' '+currency+'</p>');

我不想使用追加,因为会追加我的 p 标签的 altot,每次追加新元素之前我都必须删除 p 标签以仅添加 1 个标签 我现在正在用这个。

 $("div[data-value='"+key+"']").children('p').remove();
 $("div[data-value='"+key+"']").append('<p>'+value.price+' '+currency+'</p>');

我试图获得更好的解决方案的原因是它有点慢而且不是很好的解决方案。

感谢您的帮助!

好吧,您可以在当天克隆 span,然后您可以使用 html () 再次放置 span 和 p 标签。我将以您的代码为例:

  cloneDay[$(this).attr('data-value')] = $(this).children('span').text();

将你的值作为键并将你的日期作为值后,你可以从数组中选择类似这样的信息

  cloneDay[key]

 $("div[data-value='"+key+"']").html('<span>'+cloneDay[key]+'</span><p>'+value.price+' '+currency+'</p>');