JQuery学习记录——操作DOM

1、创建节点:   $("父节点").append("子节点");

demo:

    var $li = '<li><a href="http://www.lvyestudy.com" target="_blank" title="欢迎">绿叶学习网</a></li>';

   $("ul").append($li);

 

2、插入节点

(1)append():demo:$(A).append(B);——表示将B插入A内部的“末尾”

          appendTo():demo:$(A).appendTo(B) ——表示将A插入B内部的“末尾”

(2)prepend():表示向所选元素内部的“开始”插入节点。

         demo:$(A).prepend(B)——表示在A内部的“开始”插入B。

         prependTo():demo:$(A).prependTo(B)——表示在B内部的“开始”插入A。

(3)before():表示在所选元素外部“之前”插入节点。

         demo:$(A).before(B)——表示在A外部“之前”插入B。

         insertBefore():demo:$(A).insertBefore(B)——)表示在B外部“之前”插入A。

 (4)after():表示在所选元素外部“之后”插入节点。

           demo:$(A).after(B)——表示在A外部“之后”插入B。

           insertAfter():demo:$(A).insertAfter(B)——在B外部“之后”插入A。

 

3、删除节点

(1)remove():$(A).remove()

          demo:$("ul li:eq(3)").remove();

        该方法可以返回一个值,返回值类型为删除的jQuery节点对象。也就是说,虽然这个节点被删除了,但是还可以通过返回值来再次使用这个对象。可以使用该对象进行元素的交换

        

(2)detach(): demo:$(A).detach()

         remove()方法是“彻底”地删除元素。也就是说使用remove()方法,不仅元素会被删除,所绑定的事件都会被删除。

         detach()方法是“半彻底”地删除元素,也就是说使用detach()方法,只有元素被删除,所绑定的事件并不会删除。

         总结:当我们删除节点后,如果希望重新使用该节点,并且希望被删除的节点在重新使用后还能保留原来绑定的事件,那我们应该使用detach()而不是remove()。

 

(3)empty():清空元素内部的所有节点。

         demo:$("ul li:eq(3)").empty();

   remove()和detach()这2个方法删除节点时,会将自身节点以及后代节点一并删除。但是empty()方法仅仅删除后代节点,而会保留自身节点。

 

4、复制节点

          clone():demo:$(A).clone()       

         其中clone()方法有一个布尔参数,默认值为false。

         $(A).clone()表示仅仅将A节点复制,但不复制A节点所绑定的事件。

         $(A).clone(true)表示将A节点复制,并且复制A节点所绑定的事件。

         demo:$(this).clone().appendTo("ul");

 

5、替换节点

(1)replaceWith()

   demo:$(A).replaceWith(B)——表示用B来替换A。

(2)replaceAll()

         demo:$(A).replaceAll(B)——表示用A来替换B。

         如果在替换节点之前,我们已经为元素绑定事件了,使用replaceWith()或replaceAll()之后,该元素所绑定的事件会消失。因此我们如果想要保留事件的话,则需要在新元素上重新绑定事件。

 

6、包裹节点
(1)wrap()

         demo:$("strong").wrap("<em></em>")——表示将strong元素使用em元素包裹起来。

 (2)wrapAll()

         demo:$("p").wrapAll("<div></div>")——使用一个div将所有的p标签包裹起来

         wrapAll()跟wrap()这两种方法的作用是不等价的。wrap()方法是将所有元素进行单独的包裹,但是wrapAll()会将所有匹配的元素用一个元素来包裹。

(3)wrapInner()

         demo:$(A).wrapInner(B)——将A元素“所有内部子元素”使用B元素包裹起来(不包括A本身)。

 

7、遍历节点

$().each(function(index){

    ……

})

       该函数可以接受一个形参index,此形参为遍历元素的序号(从0开始)。如果需要访问元素中的属性,可以借助形参index,然后配合this关键字来实现元素属性的获取和设置。

demo:

$("li").each(function (index) {

    var txt = arr[index];

    $(this).text(txt);

});

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值