超详细的jQuery的 DOM操作,一篇就足够!

作者: 梁丘刘峰

更新时间:2022-03-26 14:37:56

439 阅读

摘要:今天来和大家分享有关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区别

  1. 如果操作的是元素的固有属性,则建议使用prop
  2. 如果操作的是元素自定义的属性,则建议使用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():将对象的后代元素全部清空,但是保留当前对象以及其属性节点

 

点击关注,第一时间了解华为云新鲜技术~

版权声明:本文著作权归作者【梁丘刘峰 】所有,不代表本网站立场。

侵权请联系:root_email@163.com

相关推荐