首頁  >  文章  >  web前端  >  jquery 取得自訂屬性(attr和prop)的實作碼_jquery

jquery 取得自訂屬性(attr和prop)的實作碼_jquery

WBOY
WBOY原創
2016-05-16 17:52:151044瀏覽

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

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

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

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


jquery中attr()方法 .lili{font-weight:bold;color:red;} #lili{font-weight:bold;color:red;}


你最喜歡的水果是?



  • 蘋果

  • 橘子

  • 菠蘿


<script> <BR>... <BR></script>




1.attr(name)//取得屬性的值

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




複製程式碼


程式碼如下:

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

複製程式碼


程式碼如下:


<script> <IMG src="http://files.jb51.net/upload/201206/20120627111223689.jpg" small="0">alert($("ul li:eq("ul li:eq("ul li:eq("ul li:eq("ul li:eq("ul li:eq("ul li:eq("ul li:eq("ul li:eq("ul li:eq("ul li:eq("ul li:eq("ul) 1)").attr("alt")); <BR></script>
結果:2. attr(name,value) //設定屬性的值2.1使用attr(name,value)修改title值為:不吃橘子


複製程式碼

程式碼如下:

jquery 取得自訂屬性(attr和prop)的實作碼_jquery<script> <BR>$("ul li:eq(1)").attr("title","不吃橘子"); <BR>alert($( "ul li:eq(1)").attr("title")); <BR></script>
結果:3. attr( name,fn) //設定屬性的函數值3.1把alt屬性的值設定為title屬性的值。



複製程式碼

程式碼如下:

jquery 取得自訂屬性(attr和prop)的實作碼_jquery<script> <BR>$("ul li:$("ul li:$("ul li:$("ul li:$("ul li:$("ul li:$("ul eq(1)").attr("title",function(){ return this.alt}); <BR>alert($("ul li:eq(1)").attr("title")); <BR></script>
結果:4.attr(properties) //將一個「名/值」形式的物件設定為所有符合元素的屬性4.1取得
    裡第2個
  • 設定title和alt屬性。



複製程式碼

程式碼如下:

<script> <BR>$("ul li:eq(1)").attr({title:"不喝橘子汁",alt:"不是123"}); <BR>alert ($("ul li:eq(1)").attr("title")); <BR>alert($("ul li:eq(1)").attr("alt")); <BR></script>

結果:
jquery 取得自訂屬性(attr和prop)的實作碼_jqueryjquery 取得自訂屬性(attr和prop)的實作碼_jquery
4.2取得
    裡第2個
  • 設定class。
    複製程式碼 程式碼如下:

    <script> <BR>$("ul li:$("ul li:$("ul li:$("ul li:$("ul li:$("ul li:$("ul eq(1)").attr({className:"lili"}); <BR></script>

    結果:
    jquery 取得自訂屬性(attr和prop)的實作碼_jquery
    4.3取得
      裡第2個
    • 設定id。

    <script><BR>$("ul li:eq(1)").attr({id:"lili"});<BR></script>

    結果:jquery 取得自訂屬性(attr和prop)的實作碼_jquery

    4.4取得
      裡第2個
    • 設定style。

    <script><BR>$("ul li:eq(1)").attr({style:"color:red"});<BR></script>

    結果:jquery 取得自訂屬性(attr和prop)的實作碼_jquery

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

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

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

    那麼怎麼刪除屬性呢?

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

    同樣是用法中的html程式碼, 我想刪除li的title屬性, 那麼就這樣:
    複製程式碼 程式碼如下:

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

    就這麼簡單, attr 其實就是原生js中getAttribute 的簡化實作, 而removeAttr 就是removeAttribute 的簡寫了。

    那麼是否有跟attr()相似的屬性呢?
    jquery中val()與之類似,
    $(this).val();取得某個元素節點的value值,相當於$(this).attr("value");
    $(this).val(value);設定某個元素節點的value值,相當於$(this).attr("value",value);
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn