博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery的DOM操作
阅读量:6784 次
发布时间:2019-06-26

本文共 5344 字,大约阅读时间需要 17 分钟。

  • 查找节点
    • 查找元素节点
      • var $usernameElement = $("#username");
      • alert("jquery "+$usernameElement.val());
  • 查找属性节点
    • jQuery查找到需要的元素节点后,使用attr()方法来获取它的各种属性的值。
    • $usernameElement.attr("value");
  • 查找文本节点
    • jQuery查找到需要的元素节点后,使用text()方法来获取它的文本内容。
    • $usernameElement.text();

原生的dom 操作:3种方法

怎么去记忆jquery dom 操作,对比元素的dom 操作
jquery 的第一个,如何查找节点
三种节点:
1:元素节点
2:文本节点
3:属性节点

节点与元素的区别

元素:html 的页面的标签内容,元素(标签)的属性,元素的文本内容
节点:dom 将html 页面的内容分成了:元素节点,属性节点,文本节点
用元素解析html ,只有元素,而属性与文本都是元素的内容
而变成节点之后:元素,节点,文本属于并列的内容

 

创建节点

  • 创建元素节点

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

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

  • 创建文本节点
    • 创建元素节点后,使用text()方法来设置其节点的文本内容。

    $option.text("北京");

    • 创建元素节点时,直接将其节点的文本内容插入其中。

    var $option = $("<option>北京</option>");

  • 创建属性节点
    • 创建元素节点后,使用attr()方法来设置其节点的属性。

    $option.attr("value","北京");

    • 创建元素节点时,直接将其节点的属性插入其中。

    var $option = $("<option value="北京">北京</option>");

插入节点

  • 内部插入节点

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

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

  • 外部插入节点

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

    before(content):在每个匹配的元素之前插入内容
    insertAfter(content):把所有匹配的元素插入到另一个、指定的元素元素集合的后面
    insertBefore(content) :把所有匹配的元素插入到另一个、指定的元素元素集合的前面

删除节点

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

复制节点

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

段落

$("button").click(function(){ alert("点击按钮"); }); //克隆节点,不克隆事件 $("button").clone().appendTo("p"); //克隆节点,克隆事件 $("button").clone(true).appendTo("p"

 

替换节点

  replaceWith(): 将所有匹配的元素都替换为指定的 HTML 或 DOM 元素
  replaceAll(): 颠倒了的 replaceWith() 方法.
  注意: 若在替换之前, 已经在元素上绑定了事件, 替换后原先绑定的事件会与原先的元素一起消失

//

段落

//方式一$("p").replaceWith("");//方式二$("").replaceAll("p");

 

属性操作
  attr(): 获取属性和设置属性。
    当为该方法传递一个参数时, 即为某元素的获取指定属性。
    当为该方法传递两个参数时, 即为某元素设置指定属性的值。
    jQuery 中有很多方法都是一个函数实现获取和设置. 如: attr(), html(), text(), val(), height(), width(), css() 等。
    removeAttr(“属性名”): 删除指定元素的指定属性

样式操作

  • 获取 class 和设置 class :class 是元素的一个属性, 所以获取 class 和设置 class 都可以使用 attr() 方法来完成。
  • 追加样式:addClass()
  • 移除样式:removeClass() --- 从匹配的元素中删除全部或指定的 class
  • 切换样式:toggleClass() --- 控制样式上的重复切换.如果类名存在则删除它, 如果类名不存在则添加它。
  • 判断是否含有某个样式:hasClass() --- 判断元素中是否含有某个 class, 如果有, 则返回 true; 否则返回 false。

 

遍历节点

  • 取得匹配元素的所有子元素组成的集合: children(). 该方法只考虑子元素而不考虑任何后代元素.
  • 取得匹配元素后面紧邻的同辈元素下一个元素:next();
  • 取得匹配元素前面紧邻的同辈元素上一个元素:prev()
  • 取得匹配元素前后所有的同辈元素: siblings()
  • 在jQuery中还有很多遍历节点的方法,具体参看API帮助文档。

 

包裹节点

wrap()

jQueryjQuery//jQuery代码如下:$("strong").wrap("");//得到的结果如下jQueryjQuery

 

 

wrapAll()

jQueryjQuery//jQuery代码如下:$("strong").wrapAll("");//得到的结果如下jQueryjQuery

 

wrapInner()

jQuery//jQuery代码如下:$("strong"). wrapInner("");//得到的结果如下jQuery

 

01_查找节点

1  2  3    4     01_查找节点.html 5     
6 7 8 9
    10
  • dsaf
  • 11
  • 天津
  • 12
13 14 31 32

02_创建节点

 

1  2  3    4     02_创建节点.html 5     
6 7 8 9
    10
  • 北京
  • 11
12 13 23 24

03_内部插入节点

1  2  3    4     03_内部插入节点.html 5     
6 7 8 9 10
    11
  • 北京12
  • 13 14
  • 15 重庆16
  • 17
18
    19
  • 20 反恐21
  • 22
  • 23 星际
  • 24
25 26
27 Hello1
28 29 48 49

04_外部插入节点

1  2  3    4     04_外部插入节点.html 5     
6 7 8 9
    10
  • 北京
  • 11
  • 天津
  • 12
  • 重庆
  • 13
14

15 I would like to say: p316

17

I would like to say: p2

18

I would like to say: p1

19 20 33

05_删除节点

1  2  3    4     05_删除节点.html 5     
6 7 8 9 10
    11
  • 北京

    海淀区

  • 12
  • 天津

    河西区

  • 13
  • 重庆
  • 14
15

Hello

how are

you?

16 17 25 26

06_复制节点

1  2  3    4     06_复制节点.html 5     
6 7 8 9
10

段落

11 12 19

07_替换节点

1  2  3    4     07_替换节点.html 5     
6 7 8 9

段落

10

段落

11

段落

12 13 14 15 24

08_样式操作

1   2   3     4     08_样式操作.html  5     
6 7 46 47 48 49 50 51 52 53 54 55 56 57

天气冷了

58

天气又冷了

59 60 61 62
63
64 动画 65
66
67 68 span 69
70 71
72 73 74 80 81 135

09_遍历节点

1  2  3    4     09_遍历节点.html 5     
6 7 8 9 10
    11
  • 北京12
  • 13
  • 天津
  • 14
  • 南京
  • 15
16 17 38

10_包裹节点

1  2  3    4     10_包裹节点.html 5     
6 7 8 9 jQuery10 jQuery11 12 20

 

转载地址:http://mzdgo.baihongyu.com/

你可能感兴趣的文章
MySQL基础【MySQL运维实践】
查看>>
人工智能教程001:什么是人工智能以及相关知识要求
查看>>
30Mysql 的配置
查看>>
关于摄影的技巧,摄影爱好者们都好好学习吧
查看>>
Mac tips - 隐藏窗口及恢复
查看>>
dvbbs论坛的安装
查看>>
linux管道
查看>>
Apache web目录修改
查看>>
Android存储子系统
查看>>
kafka学习笔记五
查看>>
CentOS 6 VNC详细配置
查看>>
html返回json响应键盘?
查看>>
Ubuntu SSH Algorithm negotiation failed
查看>>
使用Custom.pll修改标准Form的LOV
查看>>
Redis 主从复制
查看>>
lucene的使用详解
查看>>
java每日小算法(14)
查看>>
Docker 命令行和后台参数
查看>>
英雄王座的数据库表格部分成功转换
查看>>
AbstractQueuedSynchronizer的介绍和原理分析
查看>>