jQuery——attr和css的區別
阿新 • • 發佈:2018-11-09
在jquery中,attr和css都和元素樣式有關,今天來說一說這兩者有什麼區別。
css() 方法返回或設定匹配的元素的一個或多個樣式屬性。
attr即[attribute]的縮寫,它是選擇器用於選取帶有指定屬性的元素。
其實,它們之間的區別可以用一句話來概括:即attr設定和獲取某個屬性值,css設定和獲取style中的屬性。
下面用程式碼來說明一下這兩者之間的區別。
1.作用不同
<a href="#" id="link">這是一個JQ示例</a> <script> $("#link").css("display","none") $("#link").attr("title","JQ新增的title") </script>
上文中的程式碼,通過css將link的display設定為了none;通過attr為link添加了一個title屬性,其值為“JQ新增的title”。
這種使用方法正好驗證了上文所說的“attr——屬性、css——style”的聯絡。
2.優先順序不同
jquery中的css()是用來操縱style{}的,而attr()是加在標籤內部的,attr()的權重比css()要大,它會覆蓋css()的樣式。
3.獲取許可權不同
在jquery裡,css可取該標籤定義的css的屬性,attr只能取該標籤裡自帶的屬性。
也就是說,如果直接在div中定義的屬性,css無法獲得。attr可以獲得css中的也可以獲得其他標籤裡自帶的屬性,而標籤裡沒有自帶的屬性,attr也無法獲得。
例如:在div裡,沒有width這個屬性,所以不能用attr給他賦值,在div的css樣式裡是有width這個屬性的,所以可以用$("#logo").css("width","180")來賦值。
如果想要動態地增加屬性,可以使用addClass()。它是為html元素動態的新增class。