节点插入--对比jQuery和JavaScript方法(一)

二、插入元素:

1 <div>
2     <p>面朝大海,春暖花开</p>
3 </div>

(一)、jQuery方法

1、在节点内部插入:

 

方法

说明

append()

向每个匹配的元素内部追加内容

appendTo()

把所有的元素追加到另一个指定的元素集合中,实际上是颠倒了append()的用法。如$(A).append(B)与$(B).appendto(A)是等价的

prepend()

向每个匹配的元素内部前置内容

prependTo()

把所有匹配的元素前置到另一个指定的元素集合中。实际上是颠倒了preprend()的用法。如$(A).prepend(B)与$(B).prenpendTo(B)等价

具体实现如下:

1 $("div").append("<p>这是append()方法添加的内容</p>");//在div元素下第一个子节点位置插入段落
2 
3 $("div").prepend("<p>这是prepend()方法添加的内容</p>");//在div元素下最后一个子节点位置插入段落

 

下面这两种方法更符合人的一般思维,但效果是一样的

1 $("<p>这是appendTo方法添加的内容</p>").appendTo("div");//把段落插到div元素的第一个子节点位置
2 
3 $("<p>这是prependTo方法添加的内容</p>").prependTo("div");//把段落插到div元素的最后一个子节点位置

 

 

2、在节点外部插入:

方法

说明

after()

在每个匹配的元素之后插入内容

before()

在每个匹配的元素之前插入内容

insertAfter()

把所有匹配的元素插入到另一个指定的元素集合的后面

insertBefore()

把所有匹配的元素插入到另一个指定的元素集合的前面

 

具体实现如下:

1 $("div").after("<p>这是after()方法添加的内容</p>");//在div元素后面插入段落
2 
3 $("div").before("<p>这是before()方法添加的内容</p>");//在div元素前面插入段落
1 $("<p>这是insertAfter方法添加的内容</p>").insertAfter("div");//把段落插入到div元素后面
2 
3 $("<p>这是insertBefore方法添加的内</p>").insertBefore("div");//把段落插入到div元素前面

 

3、appendTo(),prependTo(), insertBefore(),insertAfter() 方法具有破坏性操作特性,也就是如果选择已经存在内容,并把它们插入到指定对象中时,则原位置的内容将被删除。下面实例中将原div元素中包含的段落文本选中并移到div元素后面。演示如下:

1 $("p").insertAfter("div");

 

(二)、JavaScript方法

1、在节点内部插入:appendChild()—--对应于jQuery的append(), insertBefore()---对应于jQuery中的prepend()

     具体效果请看上面jQuery方法。。。

2、自定义JavaScript扩展DOM功能函数================待续~待续~待续

 

posted @ 2016-11-03 23:58  胖不了的瘦子  阅读(437)  评论(0编辑  收藏  举报