首頁  >  文章  >  web前端  >  jquery css()和attr()的差別是什麼

jquery css()和attr()的差別是什麼

青灯夜游
青灯夜游原創
2021-05-12 17:07:572882瀏覽

區別:attr()主要是針對元素的屬性進行操作(和Html標籤有關),如img的src屬性和alt屬性,a連結的href屬性等等;而css()修改的是樣式裡面的屬性(和style有關),也就是style裡面的屬性。

jquery css()和attr()的差別是什麼

本教學操作環境:windows7系統、jquery1.10.0版本、Dell G3電腦。

jquery中有attr()和css()兩種方法:

attr是attribute的縮寫,意思是標籤屬性。 css是,樣式,意思是元素的style樣式的。

jquery attr()方法

attr() 方法設定或傳回被選元素的屬性和值。

當方法用於傳回屬性值,則傳回第一個符合元素的值。

當方法用於設定屬性值,則為符合元素設定一個或多個屬性/值對。

語法

傳回屬性的值:

$(selector).attr(attribute)

設定屬性和值:

$(selector).attr(attribute,value)

attribute:規定屬性的名稱。

value:規定屬性的值。

jquery css()方法

css() 方法傳回或設定符合的元素的一個或多個樣式屬性。

傳回第一個符合元素的 CSS 屬性值。

註解:當用於傳回一個值時,不支援簡寫的 CSS 屬性(例如 "background" 和 "border")。

$(selector).css(name)

name:必要。規定 CSS 屬性的名稱。此參數可包含任何 CSS 屬性。如 "color"。

jquery中attr()與css()的差異

#jquery中attr()是取得/修改元素的屬性和值(和Html標籤有關);css()是取得/修改元素的樣式屬性(和style有關)。

attr()主要是針對元素的屬性進行操作,如img的src屬性和alt屬性,a連結的href屬性等等;

css()修改的是樣式裡面的屬性,即是style裡面的屬性。

前者可以修改a1f02c36ba31691bcfe87b2722de723b的src屬性,可以修改3499910bf9dac5ae3c52d5ede7383485的href屬性,可以修改d5fd7aea971a85678ba271703566ebfd的title屬性。然而後者卻不行,他它只能修改樣式相關的特徵。

所以,後者是前者的子集,只是對 style這個特定的屬性進行操作。

範例:

HTML

#
<div style="color:red;font-weight:bold;" id="a" data-id="1" class="mystyle">Hello</div>

Javascript

<script type="text/javascript">
$(function() {
//css()
var color = $("#a").css("color"); //只有一个参数时,是获取div#a的color,返回red
$("#a").css("color", "blue"); //两个参数时,是设置对应的 样式属性,这里是这只文本color为blue
// $("#a").css({"color":"blue","fontWeight":"normal"});//也支持对象形式进行设置样式
//attr()
//获取div#a上面的data-id属性的值;当然,style,class,id这三个都可以获取到,因为这些都是Html元素的 属性
var id = $("#a").attr("data-id");
//$("#a").attr("data-id",2);//设置div#a上面的data-id属性为2,
                //假如是一个不存在的属性,使用这个代码,就会添加这个属性到匹配到的元素上面 
               //如$("#a").attr("data-width","100px");,使用这个,div#aHtml元素上面就会新增一个data-width的属性
});
</script>

##總結

#css()方法是取得/修改樣式屬性(和style有關)的方法;

attr()是取得/修改元素的屬性(和Html標籤有關)的方法;

attr()和css()對style的運算都是針對行內樣式。

style也是元素的屬性,attr()同樣可以對他進行操作,所以在功能上css()可以看成是attr()的子集。

attr()操作回傳的是string,css()操作回傳的是object。

相關影片教學推薦:

jQuery教學(影片)

以上是jquery css()和attr()的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn