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