问答详情
源自:5-2 DOM替换replaceWith()和replaceAll()

replaceWith()被替换过后的元素可以重新在绑定事件吗?

使用replaceWith()被替换过后的元素可以重新在绑定事件吗?我尝试了一下,有的时候可以被点击,但是大部分的情况下,还是不能被点击的,为什么会这样呢?代码如下<br/>

<button>点击的时候</button>

<div>被替换的内容</div>

<p>需要变动的地方</p>

<script>

$(function(){

$("button").bind("click",function(){

$("span").click(function(){

$("p").css({"color":"blue"})

});

$("div").replaceWith("<br/><span class='nnnn'>哎呀,我竟然被替换了</span>");

});

$("div").click(function(){

$("p").css({"color":"red"})

});

})


</script>


提问者:沈半截 2016-04-12 20:49

个回答

  • 沈半截
    2016-04-14 16:56:21

    http://img.mukewang.com/570f5ad20001881d08040621.jpg已经解决了

  • 音客
    2016-04-12 22:24:06

    $(function(){
    
    	$("button").on("click",function(){
    		$("span").click(function(){
    			$("p").css({"color":"blue"})
    		});
    		$("div").replaceWith("<br/><span class='nnnn'>哎呀,我竟然被替换了</span>");
    		$("span").on("click",function(){
    			$("p").css({"color":"red"})
    		});
    	});
    	
    })

    应该是你要的效果吧,点击被span替换之后的元素之后,p标签的颜色被替换为红色。