jquery ().attr与().attr与().attr与().css区别
1、$().css
实际上是对选择器选中的控件进行外观渲染。那么问题来了,我们一般不都是已经将样式提取到一个*.css文件中了吗?为什么Jquery还要支持css的操作呢?答案是,css文件中定义的css样式,一般都是页面初始化时需要的效果。
比如:要删除table的某一行,当用户点击“删除”按钮时,执行ajax post请求,后台删除记录成功时,table将所选行隐藏。此时只能使用js去完成将改行的display设置为none,从而移除出document。
2、$().attr
是对所选控件的某个属性的值(一般都是与用户交互的值)进行操作。如:<input>、<button>的value,<img>的src等。
$().attr可以操作标签中所有声明的属性。如下:
js:
$(function(){
var src=$(".wrapper").attr("class");
alert(src);
html:
<div class="wrapper" jj="100">
<img src="https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1555858524&di=0f7e386aff501deb84297030f1dcfba8&src=http://hbimg.b0.upaiyun.com/f9e3fc086b2ee69c3fc705b4b866b9944d7aab9c21356-wsynWB_fw658" />
虽然<img>中的jj属性是不合法的,但是$().attr依然可以获得它的值。
3、两者的区别
对同一个标签:$().css负责对标签的样式动态操作,$().attr负责标签的属性值的操作。