使用jQuery操作DOM


一、DOM操作分类

DOM操作分为三类:

  • DOM Core:任何一种支持DOM的编程语言都可以使用它,如getElementById()
  • HTML-DOM:用于处理HTML文档,如document.forms
  • CSS-DOM:用于操作CSS,如element.style.color=“green”

提示:
JavaScript用于对(x)html文档进行操作,它对这三类DOM操作都提供了支持

二、jQuery中的DOM操作

jQuery对JavaScript中的DOM操作进行了封装
jQuery中的DOM操作:

  • 样式操作
  • 内容及Value值操作
  • 节点操作
  • 节点属性操作
  • 节点遍历
  • CSS-DOM操作

提示:
“元素”和“节点”含义大同小异,本章并不严格区分

1、样式操作

设置和获取样式值

css(name,value);	//设置单个属性
css({name:value,name:value,name:value...});	//同时设置多个属性
css(name)	//获取属性值

追加和移除样式

  • 追加样式
$(selector).addClass(class);
$(selector).addClass(class1,class2...classN);
  • 移除样式
$(selector).removeClass("class");
$(selector).removeClass("class1,class2...classN");

切换样式

  • toggleClass()
    模拟了addClass()与removeClass()实现样式切换的过程
$(selector).toggleClass(class);

判断是否含指定的样式

  • hasClass()方法来判断是否包含指定的样式
$(selector).hasClass(class);

2、内容操作

  • HTML代码操作
  • 标签内容操作
  • 属性值操作

HTML代码操作

  • html()可以对HTML代码进行操作,类似于JS中的innerHTML
$("div.left").html();//获取元素中的html代码
$("div.left").html("<div class='content'>...</div>");//设置元素中的html代码

标签内容操作

  • text()可以过去或设置元素的文本内容
$("div.left").text();//获取元素中的文本内容
$("div.left").text("<div class='content'>...</div>");//设置元素中的文本内容

html()和text()方法的区别
在这里插入图片描述
属性值操作

  • val()可以过去或设置元素的value属性值
$(this).val();//获取元素的value属性值
$(this).val(value);//设置元素的value属性值

3、节点操作

  • 查找节点
  • 创建节点
  • 插入节点
  • 删除节点
  • 替换节点
  • 复制节点

创建节点元素

工厂函数$()用于获取或创建节点

  • $(selector):通过选择器获取节点
  • $(element):把DOM节点转化成jQuery节点
  • $(html):使用HTML字符串创建jQuery节点

插入节点

  • 元素内部插入子节点在这里插入图片描述
  • 元素外部插入同辈节点
    在这里插入图片描述

删除节点

jQuery提供了三种删除节点的方法

  • remove():删除整个节点
  • empty():清空节点内容
  • detach():删除整个节点,保留元素的绑定事件、附加的数据

替换节点

replaceWith()和replaceAll()用于替换某个节点
两者的关系类似于append()和appendTo()

复制节点

clone()用于复制某个节点

$(selector).clone([includeEvents]);
//[includeEvents]:参数ture或flase,true复制事件处理,flase时反之

4、属性操作

  • 获取与设置元素属性
  • 删除元素属性

获取与设置元素属性

attr()用来获取与设置元素属性

$(selector).attr([name]);//获取属性值
$(selector).attr({[name1:value1]...[nameN:valueN]});//设置多个属性的值

删除元素属性

removeAttr()用来删除元素属性

$(selector).removeAttr(name);

5、节点遍历

  • 遍历子元素
  • 遍历同辈元素
  • 遍历前辈元素
  • 其他遍历方法

遍历子元素

children()方法可以用来获取元素的所有子元素
获取元素的子元素,但不包含子元素的子元素

$(selector).children([expr]);

遍历同辈元素

jQuery可以获取紧邻其后、紧邻期前和位于该元素前与后的所有同辈元素
在这里插入图片描述
遍历前辈元素

  • parent():获取元素的父级元素
  • parents():元素元素的祖先元素

其他遍历方法

  • each():规定为每个匹配元素规定运行的函数
$(selector).each(function(index,element));
//index:选择器的位置
//element:当前的元素
  • end( ):结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态

6、CSS-DOM操作

除css()外,还有获取和设置元素高度、宽度等的样式操作方法
在这里插入图片描述


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.刘★

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值