节点插入--对比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功能函数================待续~待续~待续