此账号为华为云开发者社区官方运营账号,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态
本文分享自华为云社区《【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 ></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():将对象的后代元素全部清空,但是保留当前对象以及其属性节点