jQuery DOM节点操作
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:Adobe Dreamweaver JavaScript
作者:陈钰桃
撰写时间:2020年5月2日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一、jQuery中节点的创建
JavaScript中创建DOM节点
创建流程:
1.创建元素 document.createElement()
2.为节点添加一下属性 element.setAttribute();
3.可以使用innerText或则innerHTML属性添加文本或则HTML内容
4.使用parentElement.appendChild()方法将新创建的节点添加到父节点中
jQuery创建节点
jQuery节点的创建:$()函数处理,$(\”html结构\”)
jQuery创建的节点是一个jQuery对象
二、 jQuery节点的插入 向元素的内部插入DOM节点
①append() 向每个匹配的元素内部追加内容
②appendTo() 把所有匹配的元素追加到另一个指定的元素元素集合中。
③prepend() 向每个匹配的元素内部前置内容
④prependTo() 把所有匹配的元素前置到另一个、指定的元素元素集合中
1. append()与appendTo()方法
append(content|fn):向每个匹配的元素内部追加内容
– $(A).append(B);将B添加到A中
appendTo(content):把所有匹配的元素追加到另一个指定的元素元素集合中。
– $(A).appendTo(B);把A追加到B中
总结:这两个方法功能相同,主要的不同是语法—>内容和目标的位置不同
2. prepend()与prependTo()方法
prepend(content):向每个匹配的元素内部前置内容
– $(A).prepend(B);将B添加到A中(和append添加的元素有位置上的区别)
prependTo(content):把所有匹配的元素前置到另一个、指定的元素元素集合中。
– $(A).prependTo(B);把A追加到B中
三、 jQuery节点的插入 向元素的外部插入DOM节点
①after() 在每个匹配的元素之后插入内容
②before() 在每个匹配的元素之前插入内容
③insertAfter() 这个方法是颠倒了常规的$(A).after(B)的操作,即不是把B插入到A后面,而是把A插入到B后面
④insertBefore() 颠倒了常规的$(A).before(B)的操作,即不是把B插入到A前面,而是把A插入到B前面。
1. after()与before() 方法
after(content|fn):在每个匹配的元素之后插入内容。
– $(A).after(B); 在A后面插入B元素
before(content|fn):在每个匹配的元素之前插入内容。
– $(A).before(B);在A前面插入B元素
2. insertAfter()与insertBefore()
insertAfter(content):把所有匹配的元素插入到另一个、指定的元素元素集合的后面。
– $(A).insertAfter(B) 在B后面插入A元素 与$(A).after(B)是相反的操作,但是功能一样
insertBefore(content):把所有匹配的元素插入到另一个、指定的元素元素集合的前面。
– $(A).insertBefore(B) 在B前面面插入A元素 与$(A).before(B)是相反的操作,但是功能一样
四、jQuery元素节点
①empty() 删除匹配的元素集合中所有的子节点
②remove([expr]) 从DOM中删除所有匹配的元素(元素本身与子元素都被删除)
③detach() 从DOM中删除所有匹配的元素(注意与remove的区别)
1. jQuery删除节点的方法 remove()与 empty()方法
empty() 删除匹配的元素集合中所有的子节点
remove([expr]) 从DOM中删除所有匹配的元素。expr:用于筛选元素的jQuery表达式
2. jQuery删除节点的方法 detach()方法
detach() 从DOM中删除所有匹配的元素。
– 这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。
与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来
– $(\”div\”).detach()这一句会移除对象,仅仅是显示效果没有了。
但是内存中还是存在的。当你append之后,又重新回到了文档流中。就又显示出来了
五、jQuery 元素的筛选
eq(index|-index):获取当前链式操作中第N个jQuery对象,返回jQuery对象,当参数大于等于0时为正向选取,比如0代表第一个,1代表第二个。当参数为负数时为反向选取,比如-1为倒数第一个,具体可以看以下示例。
类似的有get(index),不过get(index)返回的是DOM对象。
参数说明:index 一个整数,指示元素基于0的位置,这个元素的位置是从0算起。
-index 一个整数,指示元素的位置,从集合中的最后一个元素开始倒数。(-1算起)
first() 获取第一个元素
last()获取最后个元素
hasClass(class) 检查当前的元素是否含有某个特定的类,如果有,则返回true
这其实就是 is(\”.\” + class)。
filter(expr|obj|ele|fn) 筛选出与指定表达式匹配的元素集合。
这个方法用于缩小匹配的范围。用逗号分隔多个表达式
find(expr|obj|ele)
搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法