JQuery DOM 替换节点

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

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


本例 JQuery 代码:

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

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

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

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

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

zgguan.com(it学习网) — 提供最好的 XHTML教程DIV+CSS教程JavaScript教程PHP教程ThinkPHP教程