超詳細的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區別

  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():將對象的后代元素全部清空,但是保留當前對象以及其屬性節點

 

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM