
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其它相关文章!