jquery中attr和css方法的区别是什么?

jQuery中:

attr()是获取/修改元素的属性(和Html标签有关),返回的是string。

css()是获取/修改元素的样式属性(和style有关)。

前者可以修改< img >的src属性,可以修改< a >的href属性, 可以修改< input >的title属性。然而后者却不行,他它只能修改样式相关的特征。

所以,后者是前者的子集,只是对 style这个特定的属性进行操作。

区别:

  • css()方法是获取/修改样式属性(和style有关)的方法;

  • attr()是获取/修改元素的属性(和Html标签有关)的方法;

  • attr()和css()对style的操作都是针对行内样式。

  • style也是元素的属性,attr()同样可以对他进行操作,所以在功能上css()可以看成是attr()的子集。

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

attr()和css()两者的侧重点不同,attr()主要是针对元素的属性进行操作,如img的src属性和alt属性,a链接的href属性等等;css()修改的是样式里面的属性,即是style里面的属性。

可以这样简单的记忆,css样式中的属性在jquery中获得和修改用css()这个方法,其他的获得和修改属性用attr()方法。

示例:

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>

更多jQuery相关技术文章,请访问 jQuery答疑 栏目进行学习!!

以上就是jquery中attr和css方法的区别是什么?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读