jQuery DOM节点的创建
1.0JavaScript中创建DOM节点
创建流程:
1.创建元素 document.createElement()
2.为节点添加一下属性 element.setAttribute();
3.可以使用innerText或则innerHTML属性添加文本或则HTML内容
4.使用parentElement.appendChild()方法将新创建的节点添加到父节点中
1.0 jQuery创建节点 jQuery节点的创建:$()函数处理,$("html结构")
jQuery创建的节点是一个jQuery对象
$(document).ready(function () {
通过jQuery的$()函数创建div节点并添加属性与文本内容
var div = $("<div class='box'>这是一个通过jQuery动态添加的 div</div>");
$div.attr("class", "box");
console.log(div);
通过jQuery中的append()方法将新创建的节点添加到body元素中
$("body").append(div);
$("body").append("<div class='box'>这是一个通过jQuery动态添加的 div</div>");
});
jQuery节点的插入
1.0 append()与appendTo()方法
append(content|fn):向每个匹配的元素内部追加内容
$(A).append(B);将B添加到A中
appendTo(content):把所有匹配的元素追加到另一个指定的元素元素集合中。
$(A).appendTo(B);把A追加到B中
总结:这两个方法功能相同,主要的不同是语法—>内容和目标的位置不同
1.2 prepend()与prependTo()方法
prepend(content):向每个匹配的元素内部前置内容
$(A).prepend(B);将B添加到A中(和append添加的元素有位置上的区别)
prependTo(content):把所有匹配的元素前置到另一个、指定的元素元素集合中。
$(A).prependTo(B);把A追加到B中
jQuery节点(外部)插入
1.0 after()与before() 方法
after(content|fn):在每个匹配的元素之后插入内容。
$(A).after(B); 在A后面插入B元素
before(content|fn):在每个匹配的元素之前插入内容。
$(A).before(B);在A前面插入B元素
1.1 insertAfter()与insertBefore()
insertAfter(content):把所有匹配的元素插入到另一个、指定的元素元素集合的后 面。
$(A).insertAfter(B) 在B后面插入A元素 与$(A).after(B)是相反的操作,但 是功能一样
insertBefore(content):把所有匹配的元素插入到另一个、指定的元素元素集合的前 面。
$(A).insertBefore(B) 在B前面面插入A元素 与$(A).before(B)是相反的操作, 但是功能一样
jQuery节点的删除
1.0 jQuery删除节点的方法 remove()与 empty()方法
1. empty() 删除匹配的元素集合中所有的子节点
2. remove([expr]) 从DOM中删除所有匹配的元素。expr:用于筛选元素的jQuery 表达式
1.1 jQuery删除节点的方法 detach()方法
3. detach() 从DOM中删除所有匹配的元素。
这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些 匹配的元素。
与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来
$("div").detach()这一句会移除对象,仅仅是显示效果没有了。
但是内存中还是存在的。当你append之后,又重新回到了文档流中。就又显示出 来了。