Home >Web Front-end >Front-end Q&A >What is the difference between jquery css() and attr()

What is the difference between jquery css() and attr()

青灯夜游
青灯夜游Original
2021-05-12 17:07:572939browse

Difference: attr() mainly operates on the attributes of elements (related to Html tags), such as the src attribute and alt attribute of img, the href attribute of a link, etc.; while css() modifies The attributes in the style (related to style) are the attributes in the style.

What is the difference between jquery css() and attr()

The operating environment of this tutorial: windows7 system, jquery1.10.0 version, Dell G3 computer.

There are two methods: attr() and css() in jquery:

attr is the abbreviation of attribute, which means label attribute. css is style, which means the style of the element.

jquery attr() method

attr() method sets or returns the attributes and values ​​of the selected element.

When this method is used to return an attribute value, the value of the first matching element is returned.

When this method is used to set attribute values, one or more attribute/value pairs are set for the matching element.

Syntax

Return the value of the attribute:

$(selector).attr(attribute)

Set the attribute and value:

$(selector).attr(attribute,value)

attribute: Specifies the name of the attribute.

value: Specifies the value of the attribute.

jquery css() method

css() method returns or sets one or more style attributes of the matched element.

Returns the CSS property value of the first matching element.

Note: Shorthand CSS properties (such as "background" and "border") are not supported when used to return a value.

$(selector).css(name)

name: required. Specifies the name of the CSS property. This parameter can contain any CSS property. For example "color".

The difference between attr() and css() in jquery

attr() in jquery is to obtain/modify the attributes and values ​​of elements ( Related to Html tags); css() is to obtain/modify the style attributes of elements (related to style).

attr() mainly operates on the attributes of elements, such as the src attribute and alt attribute of img, the href attribute of a link, etc.;

css() modifies the style. Attributes are the attributes in style.

The former can modify the src attribute of a1f02c36ba31691bcfe87b2722de723b, the href attribute of 3499910bf9dac5ae3c52d5ede7383485, and the title attribute of d5fd7aea971a85678ba271703566ebfd. However, the latter does not work. It can only modify style-related features.

So, the latter is a subset of the former, and only operates on the specific attribute of style.

Example:

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>

Summary

css() method is to get/modify style attributes (related to style);

attr() is to get/modify attributes of elements (related to Html tags) ) method;

attr() and css() operate on style both for inline styles.

style is also an attribute of the element, and attr() can also operate on it, so functionally css() can be regarded as a subset of attr().

attr() operation returns string, and css() operation returns object.

Recommended related video tutorials: jQuery Tutorial (Video)

The above is the detailed content of What is the difference between jquery css() and attr(). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn