如果要替换某个节点,jQuery提供了相应的方法,即replaceWith()和replaceAll()。
replaceWith()方法的作用是将所有匹配的元素都替换成指定的HTML或者DOM元素。
本例 JQuery 代码:
<script type="text/javascript"> //<![CDATA[ $(function(){ $("#btn_1").click(function(){ $(".nm_p").replaceWith('<p>欢迎访问</p>'); }) $("#btn_2").click(function(){ $(".nm_p").replaceWith('<p title="欢迎访问脚本之家" >欢迎访问脚本之家</p>'); // 同样的实现: $('<p>欢迎访问</p>').replaceAll(".nm_p"); }) }); //]]> </script>
也可以使用JQuery中另一个方法replaceAll()来实现,该方法与replaceWith()方法的作用相同,只是颠倒了replaceWith()操作,可以使用如下jQuery代码实现同样的功能:
复制代码 代码如下:
$('<p>欢迎访问</p>').replaceAll(".nm_p");
这两句JQuery代码都会实现节点替换效果。
PS:如果在替换之前,已经为元素绑定事件,替换后原先绑定的事件将会与被替换的元素一起消失,需要在新元素上重新绑定事件。