1

我想将 div 标签替换为 p 标签,但前提是 div 标签没有类。

所以这:

<div class="myDiv">
   <div>sdfglkhj sdfgkhl sdfkhgl sdf</div>
   <div>dsf osdfghjksdfg hsdfg</div>
</div>

会成为:

<div class="myDiv">
   <p>sdfglkhj sdfgkhl sdfkhgl sdf</p>
   <p>dsf osdfghjksdfg hsdfg</p>
</div>

我试过.replace("<div>", "<p>").replace("</div>","</p>")了,但这用一个类替换了一个结束标记。

4

4 回答 4

3

这可以通过 jQuery 使用:not()选择器轻松完成,并且.unwrap() .wrap()

$('div:not([class])').contents().unwrap().wrap('<p/>');

http://jsfiddle.net/matthewbj/ujLHk/

于 2012-10-04T15:43:08.253 回答
1
$(document).ready(function () {

  $('div').each(function () {
    var html = this.innerHTML;
    if (! $(this).attr('class')) {
       $(this).replaceWith('<p>' + html + '</p>');
    }
  });
});
于 2012-10-04T15:36:27.043 回答
0
$(document).ready(function()
{
    $('.myDiv div').contents().unwrap().wrap('<p/>');
});

或者

$(document).ready(function()
{
    $('.myDiv div').each(function()
    {
        $(this).replaceWith($('<p>' + $(this).html() + '</p>'))
    });
});
于 2012-10-04T15:35:19.787 回答
0

这可能会帮助您使用 jQuery 选择器来获取没有类的 div:

jQuery获取所有没有类属性的div

于 2012-10-04T15:32:56.940 回答