用法一: $(選擇器).attr(屬性名) 它的作用就是擷取指定元素( $(選擇器)部分 )的指定屬性的值. 看例子:
有這樣一段html:
<img src=“http://t.douban.com/lpic/s3791510.jpg” alt=“變形金剛海報” width=“500″ height=“300″ />
那麼你要擷取到圖檔的位址該怎麼辦呢? 這樣: $(”img”).attr(”src”) 就這麼簡單, 你用alert或者其它形式輸出一下就看到圖檔的位址了. 那麼我要取得圖檔的描述呢? 這樣: $(”img”).attr(”alt”) .夠簡單吧. 它不但可以取到html本身有的屬性, 而且也能取到你自己定義的屬性, 比如上例中的 funny屬性, 自己試試能不能擷取到它的值. 注意: 如果你要擷取的屬性是不存在的, 那麼jquery就會傳回一個 undefined .
用法二: $(選擇器).attr(屬性名, 屬性值) 它的作用是為所有比對的元素設定一個屬性值。
假如頁面中有一堆這樣的html:
<img /><img />
我們寫一句這樣的jquery代碼: $(”img”).attr(”src”,”http://t.douban.com/lpic/s3791510.jpg”) 這樣上面一堆無意義的img标簽就變成了:
<img src=“http://t.douban.com/lpic/s3791510.jpg” /><img src=“http://t.douban.com/lpic/s3791510.jpg” />
很容易了解吧. 假如我們想給圖檔設定高度,那麼隻要 $(”img”).attr(”height”,”300″) . 再要設定寬度就這樣: $(”img”).attr(”width”,”500″) . 如此看來是沒有什麼問題, 但是當要設定多個屬性時, 一個一個的這樣寫真是太麻煩了, 那麼我們來看第三個用法.
用法三: $(選擇器).attr(Map) 它的意思就是給指定元素設定多個屬性值, 我們重點看一下 Map 是什麼意思. 它其實是這樣一種序列:
{屬性名一: “屬性值一” , 屬性名二: “屬性值二” , … … }
那麼我要實作用法二中的例子隻要這樣寫:
$(“img”).attr({src:“http://t.douban.com/lpic/s3791510.jpg” , height: “300″ , width : “500″})
以上我們學會了擷取屬性值, 設定屬性值, 那麼怎麼删除屬性呢?
jquery中删除屬性的關鍵詞是: removeAttr 注意A是大寫的. 看看怎麼用的:
嗯,就這麼簡單. attr 其實就是原生js中 getAttribute 的簡化實作, 而removeAttr 就是 removeAttribute 的簡寫了