我从插件收到一段HTML代码,我想在代码中将<span class="post-stats">
的所有实例更改为<p class="post-stats">
。实现这一目标的最佳方法是什么?
答案 0 :(得分:1)
也许replaceWith()
可行吗?
$('span.post-status').replaceWith(function()
{
return '<p class="post-stats">' + $(this).html() + '</p>';
});
为什么不让<span>
像<p>
一样使用CSS,而不是做所有这些事情?将它添加到样式表就足够了。
span.post-status
{
display: block;
}
或者,如果你坚持使用jQuery:
$('span.post-status').css('display', 'block');
答案 1 :(得分:0)
var spanPostStats = $( 'span.post-stats' );
spanPostStats.replaceWith(
$( '<p>' ).addClass( 'post-stats' ).html( spanPostStats.html() )
);
答案 2 :(得分:0)
我会用jQuery,看看下面的函数: http://api.jquery.com/replaceWith/
答案 3 :(得分:0)
$('.post-stats').each(function(i,elem){
$(elem).replaceWith('<p class="post-stats">'+$(elem).html()+'</p>');
});
答案 4 :(得分:0)
也许您正在寻找.replaceWith
?
$('span.post-stats').replaceWith(function(){
return $('<p>').addClass('post-stats').html($(this).contents());
});
<强> Demo 强>
我知道我有点迟了,但不喜欢使用.each
或.html(.html())
方法。我还认为你应该尽可能使用.text()
或.addClass
将HTML标记保留在它所属的位置,并保留javascript来操纵属性(y / ies)。