摘要:今天来和大家分享有关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():将对象的后代元素全部清空,但是保留当前对象以及其属性节点