ホームページ > ウェブフロントエンド > jsチュートリアル > jQueryのattr()関数とprop()関数の使用例を詳しく解説(使い方の違いあり)_jquery

jQueryのattr()関数とprop()関数の使用例を詳しく解説(使い方の違いあり)_jquery

WBOY
リリース: 2016-05-16 15:22:50
オリジナル
1413 人が閲覧しました

本文實例講述了jQuery中attr()與prop()函數用法。分享給大家參考,具體如下:

一、jQuery的attr()方法

jquery中用attr()方法來取得和設定元素屬性,attr是attribute(屬性)的縮寫,在jQuery DOM運算中會常用到attr(),attr()有4個表達式。

1. attr(屬性名稱) //取得屬性的值(取得第一個符合元素的屬性值。透過這個方法可以方便地從第一個符合元素中取得一個屬性的值。如果元素沒有對應屬性,則傳回undefined )

2. attr(屬性名稱, 屬性值) //設定屬性的值(為所有符合的元素設定一個屬性值。)

3. attr(屬性名稱,函數值) //設定屬性的函數值  (為所有符合的元素設定一個計算的屬性值。不提供值,而是提供一個函數,由這個函數計算的值作為屬性值。

4.attr(properties) //為指定元素設定多個屬性值,即:{屬性名稱一: “屬性值一” , 屬性名稱二: “屬性值二” , … … }。 (這是在所有匹配元素中批量設定很多屬性的最佳方式。請注意,如果你要設定物件的class屬性,你必須使用'className' 作為屬性名稱。或者你可以直接使用'class'或' id'。

範例程式碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jquery中attr()方法</title>
<script src="js/jquery-1.4.2.min.js" language="javascript" type="text/javascript" ></script>
<style>
p{color:red}
li{color:blue;}
.lili{font-weight:bold;color:red;}
#lili{font-weight:bold;color:red;}
</style>
</head>
<body>
<p title="你最喜欢的水果是。">你最喜欢的水果是?</p>
<ul>
<li title="苹果汁">苹果</li>
<li title="橘子汁" alt="123">橘子</li>
<li title="菠萝汁">菠萝</li>
</ul>
<script>
...
</script>
</body>
<html>

ログイン後にコピー
1.attr(name)//取得屬性的值

1.1使用attr(name)取得title值:

<script>
alert($("ul li:eq(1)").attr("title"));
</script>

ログイン後にコピー
結果:

1.2使用attr(name)取得alt值:

<script>
alert($("ul li:eq(1)").attr("alt"));
</script>

ログイン後にコピー
結果:

2. attr(name,value)   //設定屬性的值

2.1使用attr(name,value)修改title值為:不吃橘子

<script>
$("ul li:eq(1)").attr("title","不吃橘子");
alert($("ul li:eq(1)").attr("title"));
</script>

ログイン後にコピー
結果:

3. attr(name,fn)  //設定屬性的函數值

3.1把alt屬性的值設定為title屬性的值。

<script>
$("ul li:eq(1)").attr("title",function(){ return this.alt});
alert($("ul li:eq(1)").attr("title"));
</script>

ログイン後にコピー
結果:

4.attr(properties)  //將一個「名稱/值」形式的物件設定為所有符合元素的屬性

4.1取得

    裡第2個
  • 設定title和alt屬性。

    <script>
    $("ul li:eq(1)").attr({title:"不喝橘子汁",alt:"不是123"});
    alert($("ul li:eq(1)").attr("title"));
    alert($("ul li:eq(1)").attr("alt"));
    </script>
    
    
    ログイン後にコピー
    結果:

    4.2取得

      裡第2個
    • 設定class。

      <script>
      $("ul li:eq(1)").attr({className:"lili"});
      </script>
      
      
      ログイン後にコピー
      結果:

      4.3取得

        裡第2個
      • 設定id。

        <script>
        $("ul li:eq(1)").attr({id:"lili"});
        </script>
        
        
        ログイン後にコピー
        結果:

        4.4取得

          裡第2個
        • 設定style。

          <script>
          $("ul li:eq(1)").attr({style:"color:red"});
          </script>
          
          
          ログイン後にコピー
          結果:

          在li中加入alt是錯誤的,它只能用在img、area和input元素中(包括applet元素)。對於input元素,alt屬性意在用來替換提交按鈕的圖片。這裡為了很詳細說明attr()方法,沒有適當的屬性,所有用了alt進行舉例,只供學習參考attr()方法用法。

          在此說明下alt和tite的差別。

          alt:這是用以描述圖形的文字,當圖片無法顯示時,這些文字會取代圖片而被顯示。當滑鼠移至圖片上該些文字也會顯示。

          title:是滑鼠放上去之後,會顯示出來的文字。


          那要怎麼刪除屬性呢?

          jquery中刪除屬性的關鍵字是: removeAttr 注意A是大寫的. 看看怎麼用的:

          同樣是用法一中的html代碼, 我想刪掉li的title屬性, 那麼就這樣:


          It’s that simple, attr is actually a simplified implementation of getAttribute in native js, and removeAttr is the abbreviation of removeAttribute.

          So is there an attribute similar to attr()?

          val() in jquery is similar to ,
          $(this).val(); Gets the value of an element node, equivalent to $(this).attr("value");
          $(this).val(value); Set the value of an element node, equivalent to $(this).attr("value",value);

          2. jQuery’s prop() method:

          The

          prop() function is used to set or return the attribute value of the element matched by the current jQuery object.

          This function belongs to the jQuery object (instance). If you need to remove the properties of a DOM element, use the removeProp() function.

          Grammar

          This function was added in jQuery 1.6. The prop() function has the following two uses:

          Usage 1:

          jQueryObject.prop( propertyName [, value ] )
          Set or return the value of the specified property propertyName. If the value parameter is specified, it means setting the value of the property propertyName to value; if the value parameter is not specified, it means returning the value of the property propertyName.

          The parameter value can also be a function. prop() will traverse and execute the function based on all matched elements. The this pointer in the function will point to the corresponding DOM element. prop() will also pass in two parameters to the function: the first parameter is the index of the element in the matching element, and the second parameter is the current value of the element's propertyName attribute. The return value of the function is the value set for the element's propertyName attribute.

          Usage 2:

          jQueryObject.prop( object )
          Set the value of any number of properties simultaneously as an object. Each attribute of the object object corresponds to propertyName, and the value of the attribute corresponds to value.

          Note: All "setting attributes" operations of the prop() function are for each element matched by the current jQuery object; all "reading attributes" operations are only for the first matched element.
          Parameters

          Please find the corresponding parameters based on the parameter names defined in the previous syntax section.

          パラメータ 説明
          プロパティ名 文字列型 は属性名を指定します。
          オプション/オブジェクト/関数型 は属性値を指定するか、属性値を返す 関数 を指定します。
          オブジェクト タイプ で指定されたオブジェクト。複数のキーと値のペアをカプセル化し、複数の属性を同時に設定するために使用されます。
          参数value可以是包括对象和数组在内的任意类型。

          返回值

          prop()函数的返回值是任意类型,返回值的类型取决于当前prop()函数执行的是"设置属性"操作还是"读取属性"操作。

          如果prop()函数执行的是"设置属性"操作,则返回当前jQuery对象本身;如果是"读取属性"操作,则返回读取到的属性值。

          如果当前jQuery对象匹配多个元素,返回属性值时,prop()函数只以其中第一个匹配的元素为准。如果该元素没有指定的属性,则返回undefined。

          prop()和attr()的主要区别:prop()函数针对的是DOM元素(JS Element对象)的属性,attr()函数针对的是DOM元素所对应的文档节点的属性。详情请查看jQuery函数attr()和prop()的区别。

          注意事项

          1、如果通过prop()函数更改

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート