JQuery_DOM 节点操作之复制、替换和 删除节点

时间:2023-03-10 00:48:05
JQuery_DOM 节点操作之复制、替换和 删除节点

一、复制节点

<script type="text/javascript" src="jquery-1.12.3.min.js"></script>
<script>
$(function(){
    $("div").click(function(){
        alert("fasdf")
    })
    $('body').append($('div').clone(true)); //复制一个节点添加到HTML 中

});
</script>
</head>
<body>
    <div>几点</div>
</body>

  clone(true)参数可以为空,表示只复制元素和内容,不复制事件行为。而加上true参数的话,这个元素附带的事件处理行为也复制出来。

二、删除节点

<script type="text/javascript" src="jquery-1.12.3.min.js"></script>
<script>
$(function(){
    $('div').remove(); //直接删除div 元素
});
</script>
</head>
<body>
    <div>几点</div>
</body>

  .remove()不带参数时,删除前面对象选择器指定的元素。而.remove()本事也可以带选择符参数的,比如:$('div').remove('#box');只删除id=box 的div。

  .remove()和.detach()都是删除节点,而删除后本身方法可以返回当前被删除的节点对象,但区别在于前者在恢复时不保留事件行为,后者则保留。

<script type="text/javascript" src="jquery-1.12.3.min.js"></script>
<script>
$(function(){
    $("div").click(function(){
        alert("fasdf")
    });
    //$('div').remove().appendTo('body'); //直接删除div 元素后再添加回去不保留事件
    $('div').detach().appendTo('body');//直接删除div 元素后再添加回去保留事件
});
</script>
</head>
<body>
    <div>几点</div>
</body>

三、清空节点

<script type="text/javascript" src="jquery-1.12.3.min.js"></script>
<script>
$(function(){
    $('div').empty(); //删除掉节点里的内容
});
</script>
</head>
<body>
    <div>几点</div>
</body>

四、替换节点

<script type="text/javascript" src="jquery-1.12.3.min.js"></script>
<script>
$(function(){
    $('div').replaceWith('<span>节点</span>'); //将div 替换成span 元素
    //$('<span>节点</span>').replaceAll('div'); //同上
});
</script>
</head>
<body>
    <div>几点</div>
</body>

  节点被替换后,所包含的事件行为就全部消失了。