超详细的jQuery的 DOM操作,一篇就足够!
摘要:今天来和大家分享有关jQuery框架中DOM操作的相关技术,又是一个堪称DOM“全家桶”系列的讲解,建议收藏关注认真学习!
本文分享自华为云社区《【JQuery框架】超详细DOM操作看这一篇就够了!》,原文作者:灰小猿 。
今天来和大家分享有关jQuery框架中DOM操作的相关技术,又是一个堪称DOM“全家桶”系列的讲解,建议收藏关注认真学习!
一、内容操作
在进行内容操作时,对于设置和获取元素的内容使用同一个函数进行操作,设置元素内容时直接在函数中传入参数即可。
1. html()
作用:获取/设置元素的标签体内容
// 获取mydiv的标签体内容 var divValue = $("#mydiv").html() // 设置mydiv的标签体内容 var divValue = $("#mydiv").html(“你好”)
2. text()
作用:获取/设置元素的标签体纯文本内容
// 获取mydiv文本内容 var divText = $("#mydiv").text() // 设置mydiv文本内容 var divText = $("#mydiv").text(“你好”)
3. val()
作用:获取/设置元素的value属性值
// 获取myinput 的value值 var value = $("#myinput").val() // 设置myinput 的value值 var value = $("#myinput").val(“你好”)
关于上述代码的实际演示如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="../js/jquery-3.3.1.min.js"></script> <script> $(function (){ // 获取myinput 的value值 var value = $("#myinput").val() // alert(value); // 获取mydiv的标签体内容 var divValue = $("#mydiv").html() alert(divValue); // 获取mydiv文本内容 var divText = $("#mydiv").text() // alert(divText) }); </script> </head> <body> <input id="myinput" type="text" name="username" value="张三" /><br /> <div id="mydiv"><p><a href="#">标题标签</a></p></div> </body> </html>
二、属性操作
(1)通用属性操作
1. attr():
作用:获取/设置元素的属性
//获取北京节点的name属性值 var bj = $("#bj").attr("name"); alert(bj); //设置北京节点的name属性的值为dabeijing $("#bj").attr("name", "dabeijing"); //新增北京节点的discription属性 属性值是didu $("#bj").attr("discription", "didu"); //删除北京节点的name属性并检验name属性是否存在
2. removeAttr()
作用:删除属性
//删除北京节点的name属性并检验name属性是否存在 $("#bj").removeAttr("name");
3. prop()
作用:获取/设置元素的属性
//获得hobby的的选中状态 var hobby_type = $("#hobby").prop("checkbox");
4. removeProp()
作用:删除属性
//删除hobby的CheckBox属性 var hobby_type = $("#hobby").removeProp("checkbox");
5.attr和prop区别
- 如果操作的是元素的固有属性,则建议使用prop
- 如果操作的是元素自定义的属性,则建议使用attr
(2)对class属性操作
1. addClass()
作用:添加class属性值
//<input type="button" value=" addClass" id="b2"/> //给one标签增加属性 $("#b2").click(function () { $("#one").addClass("second"); });
2. removeClass()
作用:删除class属性值//<input type=
//<input type="button" value="removeClass" id="b3"/> //删除one标签的class属性 $("#b3").click(function () { $("#one").removeClass("second"); });
3. toggleClass()
作用:切换class属性
//<input type="button" value=" 切换样式" id="b4"/> //为one标签的class样式进行切换,有class属性就删除,没有就添加 $("#b4").click(function () { $("#one").toggleClass("second"); });
在这里对该函数做一个详细的介绍:
如toggleClass("one"):
* 判断如果元素对象上存在class="one",则将属性值one删除掉。 如果元素对象上不存在class="one",则添加
4. css()
作用:修改元素属性
//<input type="button" value=" 通过css()获得id为one背景颜色" id="b5"/> $("#b5").click(function () { var backgroundColor = $("#one").css("backgroundColor"); alert(backgroundColor); }); //<input type="button" value=" 通过css()设置id为one背景颜色为绿色" id="b6"/> $("#b6").click(function () { $("#one").css("backgroundColor","green") });
三、CRUD操作
1. append()
作用:父元素将子元素追加到末尾
样例:对象1.append(对象2): 将对象2添加到对象1元素内部,并且在末尾
2. prepend()
作用:父元素将子元素追加到开头
样例:对象1.prepend(对象2):将对象2添加到对象1元素内部,并且在开头
3. appendTo()
样例:对象1.appendTo(对象2):将对象1添加到对象2内部,并且在末尾
4. prependTo()
样例:对象1.prependTo(对象2):将对象1添加到对象2内部,并且在开头
5. after()
作用:添加元素到元素后边
样例:对象1.after(对象2): 将对象2添加到对象1后边。对象1和对象2是兄弟关系
6. before()
作用:添加元素到元素前边
样例:对象1.before(对象2): 将对象2添加到对象1前边。对象1和对象2是兄弟关系
7. insertAfter()
样例:对象1.insertAfter(对象2):将对象1添加到对象2后边。对象1和对象2是兄弟关系
8. insertBefore()
样例:对象1.insertBefore(对象2): 将对象1添加到对象2前边。对象1和对象2是兄弟关系
9. remove()
作用:移除元素
样例:对象.remove():将对象删除掉
10. empty()
作用:清空元素的所有后代元素。
样例:对象.empty():将对象的后代元素全部清空,但是保留当前对象以及其属性节点
相关文章
- 腾讯云大数据流计算 Oceanus 在 MySQL CDC Connector 的核心优化
- 网宿科技携手亚马逊云科技,助力云计算成为真正的生产力
- 【FAQ】分析服务导出的事件数据和概览页面展示的数据不一致该如何解决?
- 金融App面临安全风险?解锁HMS Core安全检测服务解决方案
- CodeArts TestPlan:一站式测试管理平台
- cookie、session,、token,还在傻傻分不清?
- 一文了解华为FusionInsight MRS HBase的集群隔离方案RSGroup
- 高并发环境下构建缓存服务,你需要注意这6点
- 一文详解RocketMQ的存储模型
- Serverless时代的微服务开发指南:华为云提出七大实践新标准
- 用100W+行代码贡献经验,带你了解如何参与OpenHarmony开源
- CSV:简单格式下隐藏的那些坑
- 能将三次握手讲到这个程度,不给你offer给谁!
- 细数华为云云原生产品及五大开源实践
- 解密秒杀系统架构:不是所有的秒杀都是秒杀
- 《迷你世界》亿级玩家都在用的游戏场景推荐系统长啥样?
- ROMA Connect: 5大联接能力+4大集成能力,推进企业数字化转型
- DTT年度收官圆桌π,华为云8位技术专家的年末盘点
- 工业数据分析为什么要用FusionInsight MRS IoTDB?
- 云网络运维必备神器:全链路故障诊断与分析