js獲取值的方法「jq獲取span裏面的值」

一. 屬性和屬性節點的區別

1.什麼是屬性?

對象身上保存的變量就是屬性

2.如何操作屬性?

設置屬性的值:

方式一: 對象.屬性名稱 = 值;

方式二: 對象[“屬性名稱”] = 值;

獲取屬性的值:

方式一: 對象.屬性名稱;

方式二: 對象[“屬性名稱”]

代碼如下所示:

// 屬性
function Student() {
}var s= new Student();
// 設置屬性
s.name = "xyr";
s["age"] = 18;
// 獲取屬性
console.log(s.name);
console.log(s["age"]);

3.什麼是屬性節點?

<span class= "sp"></span>

在編寫HTML代碼時,在HTML標籤中添加的屬性就是屬性節點

在瀏覽器中找到span這個DOM元素之後, 展開看到的都是屬性

在attributes屬性中保存的所有內容都是屬性節點,如下圖所示:

JQuery操作元素屬性詳解!什麼是屬性呢?

4.如何操作屬性節點?

DOM元素.setAttribute(“屬性名稱”, “值”);

DOM元素.getAttribute(“屬性名稱”);

5.屬性和屬性節點有什麼區別?

任何對象都有屬性, 但是只有DOM對象才有屬性節點

二. JQuery操作屬性節點

1.attr(name|pro|key,val|fn)

作用: 獲取或者設置屬性節點的值,不能夠操作屬性

可以傳遞一個參數, 也可以傳遞兩個參數

如果傳遞一個參數, 代表獲取屬性節點的值

如果傳遞兩個參數, 代表設置屬性節點的值,如果傳遞的是2個以上的屬性,可以使用json格式的數據,代表修改或者新增多個屬性節點的值

注意點:

獲取:無論找到多少個元素,都只會返回第一個元素指定的屬性節點的值

增加:如果設置的屬性節點不存在,那麼系統會自動新增

修改:如果設置的屬性節點存在,找到多少個元素就會修改多少個元素

2.removeAttr(name)

刪除屬性節點

注意點:

會刪除所有找到元素指定的屬性節點

刪除多個屬性節點的時候,每個屬性名稱使用空格隔開

代碼示例如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JQuery操作屬性節點</title>
    <script src="../js/jquery-1.12.4.js"></script>
    <script>
        $(function() {
             // 如果傳遞一個參數, 代表獲取屬性節點的值 [注意: 這裡不能夠獲取屬性的值]
             console.log($("span").attr("name"));
             // console.log($("span").prop("innerHTML"));
             // 如果傳遞兩個參數, 代表設置屬性節點的值
             $(".span1").attr("class","box1");
             // 如果傳遞的是
2個以上的屬性,可以使用json格式的數據,代表修改或者新增多個屬性節點的值
             $(".span2").attr({ "class": "box2", "name": "zs", "age": 18 });
             // removeAttr(name)
             $("span").removeAttr("name age");
        });
    </script>
</head>
<body>
    <span class="span1" name="xyr">老肖</span> 
   <span class="span2" name="hk">老何</span>
  </body>
</html>

1.prop(n|p|k,v|f)

作用: 獲取或者設置屬性的值,但是它也能夠操作屬性節點

特點和attr方法一致

注意: 雖然prop方法能夠操作屬性節點,但是只能夠操作系統屬性節點,不能夠操作自定義屬性節點

2.removeProp(name)

刪除屬性

注意: 刪除系統屬性節點只能夠將值改為undefined

官方推薦在操作屬性節點時,具有 true 和 false 兩個屬性的屬性節點,

如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()

總結: 實際開發中如果操作屬性使用prop,操作屬性節點使用attr,如果屬性節點包含true 和 false 兩個屬性的屬性節點使用prop.

代碼示例如下所示:

<!DOCTYPE html>
<html lang="en">
<head> 
   <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> 
   <title>JQuery操作屬性</title>
    <script src="../js/jquery-1.12.4.js"></script>
    <script>
        $(function () {
            // 獲取屬性
            console.log($(".span1").prop("innerHTML"));
            // 設置屬性
            $(".span1").prop("demo", 111);
            // 獲取屬性節點  
          console.log($(".span1").prop("class"));
            // 設置屬性節點
            // $(".span1").prop("class", "box1");
            // 移除屬性
            $(".span1").removeProp("demo");
            console.log($("input").prop("checked")); // true / false
            console.log($("input").attr("checked")); // checked / undefined
        });  
  </script>
</head>
<body>
    <span class="span1" name="xyr">老肖</span> 
   <span class="span2" name="hk">老何</span>
    <input type="checkbox" checked>
   <p></p>
</body>
</html>

3. JQuery操作屬性實現圖片的切換

需求: 在輸入框中輸入圖片地址,點擊切換圖片按鈕即可切換圖片

代碼示例如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JQuery操作屬性實現圖片切換</title>
    <script src="../js/jquery-1.12.4.js"></script>
    <script>
        function changeImage() {
            // 獲取用戶輸入的圖片地址
            var imgAddress = $(":text").val();
            // 設置img圖片標籤的src屬性的值為用戶輸入的值
            $("img").attr("src","https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=1767036438,651853094&fm=26&gp=0.jpg");
        }
    </script>
</head>
<body>   
 請輸入圖片地址: <input type="text"> <button onclick="changeImage();">切換圖片</button> <br>
   <img src="https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=2014670149,2543710475&fm=26&gp=0.jpg">
</body>
</html>

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/256058.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-15 12:33
下一篇 2024-12-15 12:33

相關推薦

發表回復

登錄後才能評論