例如有这么一个节点
<div><em><em>Text1</em></em></div>
<div><em>Text2</div>
怎么才能让它变成这样
<div>Text1</div>
<div>Text2</div>

解决方案 »

  1.   

     $("div").each(function () {
            $(this).html($(this).text())
           }
        );
      

  2.   


    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="gb2312" />
    <title></title>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <style>

    </style>
    </head>
    <body>
    <div><em><em>Text1</em></em></div>
    <div><em>Text2</div>
    <script>
    $('div').each(function(){
    $(this).text( $(this).text() )
    })
    </script>
    </body>
    </html>
      

  3.   

    抱歉前面举的例子不恰当,应该是这样:
    <div><em><em>Text1</em></em></div>
    <p><em>Text2</em></p>
    我想去除所有em元素,变成这样
    <div>Text1</div>
    <p>Text2</p>
      

  4.   

    试了这样写,不行:
    <script type="text/javascript" >
    $(document).ready(function(){
    $('em').replaceWith($(this).text());
    normalize();
    });
    </script>
      

  5.   

    自己搞定了:
    $(document).ready(function(){
    $('em').each(function(){
    var text = $(this).text();
    $(this).replaceWith(text);
    });
    normalize();
    });