jQuery(三)之DOM操作

时间:2022-10-30 20:08:02

一、查找节点

1、查找元素节点

var $usernameElement = $("#username"); alert("jquery "+$usernameElement.val());

2、查找属性节点

jQuery查找到需要的元素节点后,使用attr()方法来获取它的各种属性的值。 $usernameElement.attr("value");

3、查找文本节点

jQuery查找到需要的元素节点后,使用text()方法来获取它的文本内容。 $usernameElement.text();

二、创建节点

1、创建元素节点

使用 jQuery 的工厂函数 $(HTML) 。该工厂函数会根据传入的 html 标记字符串创建一个 DOM 对象, 并把这个 DOM 对象包装成一个 jQuery 对象返回。

当创建单个元素时, 需注意闭合标签。 var $option = $("<option></option>");

2、创建文本节点

创建元素节点后,使用text()方法来设置其节点的文本内容。 $option.text("北京");

创建元素节点时,直接将其节点的文本内容插入其中。 var $option = $("<option>北京</option>");

3、创建属性节点

创建元素节点后,使用attr()方法来设置其节点的属性。 $option.attr("value","北京");

创建元素节点时,直接将其节点的属性插入其中。 var $option = $("<option value="北京">北京</option>");

三、插入节点

1、内部插入节点

append(content) :向每个匹配的元素的内部的结尾处追加内容

appendTo(content) :将每个匹配的元素追加到指定的元素中的内部结尾处 prepend(content):向每个匹配的元素的内部的开始处插入内容

prependTo(content) :将每个匹配的元素插入到指定的元素内部的开始处

2、外部插入节点

after(content) :在每个匹配的元素之后插入内容

before(content):在每个匹配的元素之前插入内容

insertAfter(content):把所有匹配的元素插入到另一个、指定的元素元素集合的后面

insertBefore(content) :把所有匹配的元素插入到另一个、指定的元素元素集合的前面

四、删除节点

remove(): 从 DOM 中删除所有匹配的元素, 传入的参数用于根据 jQuery 表达式来筛选元素. 当某个节点用 remove() 方法删除后, 该节点所包含的所有后代节点将被同时删除. 这个方法的返回值是一个指向已被删除的节点的引用。

empty(): 清空节点 – 清空元素中的所有后代节点(不包含属性节点)。

五、复制节点

clone(): 克隆匹配的 DOM 元素, 返回值为克隆后的副本. 但此时复制的新节点不具有任何行为.

clone(true): 复制元素的同时也复制元素中的的事件

六、替换节点

replaceWith(): 将所有匹配的元素都替换为指定的 HTML 或 DOM 元素

replaceAll(): 颠倒了的 replaceWith() 方法. 注意: 若在替换之前, 已经在元素上绑定了事件, 替换后原先绑定的事件会与原先的元素一起消失

七、属性操作

 

1、attr(): 获取属性和设置属性。

当为该方法传递一个参数时, 即为某元素的获取指定属性。

当为该方法传递两个参数时, 即为某元素设置指定属性的值。

2、jQuery 中有很多方法都是一个函数实现获取和设置. 如: attr(), html(), text(), val(), height(), width(), css() 等。

3、removeAttr(“属性名”): 删除指定元素的指定属性

八、样式操作

获取 class 和设置 class :class 是元素的一个属性, 所以获取 class 和设置 class 都可以使用 attr() 方法来完成。

追加样式:addClass()

移除样式:removeClass() --- 从匹配的元素中删除全部或指定的 class

切换样式:toggleClass() --- 控制样式上的重复切换.如果类名存在则删除它, 如果类名不存在则添加它。

判断是否含有某个样式:hasClass() --- 判断元素中是否含有某个 class, 如果有, 则返回 true; 否则返回 false。

九、遍历节点

取得匹配元素的所有子元素组成的集合: children(). 该方法只考虑子元素而不考虑任何后代元素.

取得匹配元素后面紧邻的同辈元素的集合:next();

取得匹配元素前面紧邻的同辈元素的集合:prev()

取得匹配元素前后所有的同辈元素: siblings() 

十、包裹节点

1、wrap()

 

2、wrapAll()

3、wrapInner()