JQuery DOM 替换节点

如果要替换某个节点,jQuery提供了相应的方法,即replaceWith()和replaceAll()。

replaceWith()方法的作用是将所有匹配的元素都替换成指定的HTML或者DOM元素。先看下面的效果演示:

本例 JQuery 代码:

01 <script type="text/javascript">
02 //<![CDATA[
03 $(function(){
04     $("#btn_1").click(function(){
05         $(".nm_p").replaceWith('<p class="nm_p">欢迎访问www.nowamagic.net</p>'); 
06     })
07     $("#btn_2").click(function(){
08         $(".nm_p").replaceWith('<p class="nm_p" title="欢迎访问简明现代魔法图书馆" >欢迎访问简明现代魔法图书馆</p>');
09         // 同样的实现: $('<p class="nm_p">欢迎访问www.nowamagic.net</p>').replaceAll(".nm_p");
10     })
11 });
12 //]]>
13 </script>

也可以使用JQuery中另一个方法replaceAll()来实现,该方法与replaceWith()方法的作用相同,只是颠倒了replaceWith()操作,可以使用如下jQuery代码实现同样的功能:

1 $('<p class="nm_p">欢迎访问www.nowamagic.net</p>').replaceAll(".nm_p");

这两句JQuery代码都会实现节点替换效果。

PS:如果在替换之前,已经为元素绑定事件,替换后原先绑定的事件将会与被替换的元素一起消失,需要在新元素上重新绑定事件。

原文地址:https://www.cnblogs.com/zqn518/p/2345635.html