.attr()与.removeAttr()
每個(gè)元素都有一個(gè)或者多個(gè)特性,這些特性的用途就是給出相應(yīng)元素或者其內(nèi)容的附加信息。如:在img元素中,src就是元素的特性,用來(lái)標(biāo)記圖片的地址。
操作特性的DOM方法主要有3個(gè),getAttribute方法、setAttribute方法和removeAttribute方法,就算如此在實(shí)際操作中還是會(huì)存在很多問(wèn)題,這里先不說(shuō)。而在jQuery中用一個(gè)attr()與removeAttr()就可以全部搞定了,包括兼容問(wèn)題。
jQuery中用attr()方法來(lái)獲取和設(shè)置元素屬性,attr是attribute(屬性)的縮寫(xiě),在jQuery DOM操作中會(huì)經(jīng)常用到attr()
attr()有4個(gè)表達(dá)式
1.attr(傳入屬性名):獲取屬性的值
2.attr(屬性名, 屬性值):設(shè)置屬性的值
3.attr(屬性名,函數(shù)值):設(shè)置屬性的函數(shù)值
4.attr(attributes):給指定元素設(shè)置多個(gè)屬性值,即:{屬性名一: “屬性值一” , 屬性名二: “屬性值二” , … … }
removeAttr()刪除方法
.removeAttr( attributeName ) : 為匹配的元素集合中的每個(gè)元素中移除一個(gè)屬性(attribute)
優(yōu)點(diǎn):
attr、removeAttr都是jQuery為了屬性操作封裝的,直接在一個(gè) jQuery 對(duì)象上調(diào)用該方法,很容易對(duì)屬性進(jìn)行操作,也不需要去特意的理解瀏覽器的屬性名不同的問(wèn)題。
注意:
dom中有個(gè)概念的區(qū)分:Attribute和Property翻譯出來(lái)都是“屬性”,《js高級(jí)程序設(shè)計(jì)》書(shū)中翻譯為“特性”和“屬性”。簡(jiǎn)單理解,Attribute就是dom節(jié)點(diǎn)自帶的屬性。
而Property是這個(gè)DOM元素作為對(duì)象,其附加的內(nèi)容,例如,tagName, nodeName, nodeType,, defaultChecked, 和 defaultSelected 使用.prop()方法進(jìn)行取值或賦值等。
獲取Attribute就需要用attr,獲取Property就需要用prop
代碼操練:
<!DOCTYPE html> <html><head><meta http-equiv="Content-type" content="text/html; charset=utf-8" /><title></title><style>input {display : block;margin : 10px;padding : 10px;background : #bbffaa;border : 1px solid #ccc;}</style><script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> </head><body><h2>.attr()與.removeAttr()</h2><h3>.attr</h3><form><input type="text" value="設(shè)置value" /><input type="text" value="獲取value"/><input type="text" value="回調(diào)拼接value" /><input type="text" value="刪除value" /></form><script type="text/javascript">//找到第一個(gè)input,通過(guò)attr設(shè)置屬性value的值$("input:first").attr('value','.attr( attributeName, value )')</script><script type="text/javascript">//找到第二個(gè)input,通過(guò)attr獲取屬性value的值$("input:eq(1)").attr('value')</script><script type="text/javascript">//找到第三個(gè)input,通過(guò)使用一個(gè)函數(shù)來(lái)設(shè)置屬性//可以根據(jù)該元素上的其它屬性值返回最終所需的屬性值//例如,我們可以把新的值與現(xiàn)有的值聯(lián)系在一起:$("input:eq(2)").attr('value',function(i, val){return '通過(guò)function設(shè)置' + val})</script><script type="text/javascript">//找到第四個(gè)input,通過(guò)使用removeAttr刪除屬性$("input:eq(3)").removeAttr('value')</script></body></html>總結(jié)
以上是生活随笔為你收集整理的.attr()与.removeAttr()的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一篮子股票指的是什么
- 下一篇: 京东是世界500强吗