怎么用jQuery来改变一个元素的标签名

如题:只改变元素的标签名,不改变文本,属性,比如div改p

阅读 8.8k
4 个回答
<body>
<div>
    <div id="mydiv">这是一段文字</div>
</div>
<script src="/media/js/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        var $div = $("#mydiv");
        var html = $div.get(0).outerHTML;
        html = html.replace(/^<div/,"<p");
        html = html.replace(/\/div>$/,"/p>");
        $div.replaceWith(html);
    });
</script>
</body>

jquery中并没有这种api,可以自己用正则匹配一下。

你可以用jquery中的替换方法replaceWith

    <div class="box">
        The CSS Color Module Level 4 defines new 48 character hex 
    </div>

    <script>
        let pElement = $('<p></p>').html($('.box').html())
        $('.box').prop('outerHTML', pElement.prop('outerHTML'))
    </script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进