一、attr():获取,添加,设置属性节点
成都创新互联公司专注于商丘网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供商丘营销型网站建设,商丘网站制作、商丘网页设计、商丘网站官网定制、重庆小程序开发服务,打造商丘网络公司原创品牌,更为您提供商丘网站排名全网营销落地服务。
1.当只有一个参数时为获取属性节点,无论找到多少个元素,都 只会返回第一个元素 的属性节点的值
2.当有两个参数时为 添加 或 设置 属性节点的值
(1).如果设置的属性不存在,则为 所有找到的元素 添加新属性节点
(2).如果设置的属性存在,则为 所有找到的元素 设置属性节点
二、removeAttr(): 删除 所有找到的属性节点
二、操作多个属性节点时
1.attr():使用对象的形式
2.同时删除多个属性节点, 添加空格 即可
attr()是获取或设置某个元素的属性。
input type="text" name="userName" title="请输入用户名称!"
定义和用法
根据该方法不同的参数,其工作方式也有所差异。
当该方法用于返回属性值,则返回第一个匹配元素的值。
当该方法用于设置属性值,则为匹配元素设置一个或多个属性/值对。
例如:
获取输入框的title属性:$("input[name=userName]").attr("title");
设置输入框的title属性:$("input[name=userName]").attr("title","请输入姓名!");
扩展资料:
相关语法
返回属性的值:$(selector).attr(attribute)
设置属性和值:$(selector).attr(attribute,value)
使用函数设置属性和值:$(selector).attr(attribute,function(index,currentvalue))
设置多个属性和值:$(selector).attr({attribute:value, attribute:value,...})
参考资料来源:百度百科-attr()
参考资料来源:百度百科-jQuery
两者从中文意思理解,都是获取/设置属性的方法。
attr 方法一般用于操作自定义属性,通过访问、操作 DOM 元素的属性节点来工作,类似 JS 中的 setAttribute("属性","值")和取得属性值getAttribute("属性"),事实上 jQuery 的源码中也是利用这两个原生方法。
那么为什么还要有 prop 方法呢?不是多此一举吗?其实不然,prop 方法是 jQuery v1.6.1 才新出来的,性能要更好一些,解决了 window 或 document 无法使用 attr 方法的问题,同时在获取元素状态时返回布尔值,大大方便了对状态的判断。prop 一般用于操作 HTML 元素固有属性。
举一些例子来辅助说明吧,假设有如下 HTML 元素:
input type="text" id="ipt1" name="demo"
input type="radio" id="radio" disabled
input type="checkbox" id="ckbox" checked
input type="text" id="ipt3"
input type="text" id="ipt4"
span id="span" data-tip="abc"/span
验证结果如下:
console.group('获取固有属性');
console.log($('#ipt1').attr('name')); // 'demo'
console.log($('#ipt1').prop('name')); // 'demo'
console.groupEnd();
console.group('获取固有属性-状态值');
console.log($('#radio').attr('disabled')); // 'disbaled'
console.log($('#radio').prop('disabled')); // true
console.log($('#ckbox').attr('checked')); // 'checked'
console.log($('#ckbox').prop('checked')); // true
console.groupEnd();
$('#ipt3').attr('readonly', true); // 文本框处于只读状态
$('#ipt4').prop('readonly', true); // 同上
console.group('获取自定义属性');
console.log($('#span').attr('data-tip')); // 'abc'
console.log($('#span').prop('data-tip')); // undefined
console.groupEnd();
console.group('获取不存在的自定义属性');
console.log($('#span').attr('data-none')); // undefined
console.log($('#span').prop('data-none')); // undefined
console.groupEnd();
1、jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到attr(),attr()有4个表达式。
①、attr(属性名) //获取属性的值(取得第一个匹配元素的属性值。通过这个方法可以方便地从第一个匹配元素中获取一个属性的值。如果元素没有相应属性,则返回 undefined )
②、attr(属性名, 属性值) //设置属性的值 (为所有匹配的元素设置一个属性值。)
③、attr(属性名,函数值) //设置属性的函数值 (为所有匹配的元素设置一个计算的属性值。不提供值,而是提供一个函数,由这个函数计算的值作为属性值。)
④、attr(properties) //给指定元素设置多个属性值,即:{属性名一: “属性值一” , 属性名二: “属性值二” , … … }。(这是一种在所有匹配元素中批量设置很多属性的最佳方式。 注意,如果你要设置对象的class属性,你必须使用'className' 作为属性名。或者你可以直接使用'class'或者'id'。)
2、那么怎么删除属性呢?
jquery中删除属性的关键词是: removeAttr 注意A是大写的. 看看怎么用的:
同样是用法一中的html代码, 我想删掉li的title属性, 那么就这样:
script
$("ul li:eq(1)").removeAttr("title");
/script
就这么简单, attr 其实就是原生js中 getAttribute 的简化实现, 而removeAttr 就是 removeAttribute 的简写了。
3、那么是否有跟attr()相似的属性呢?
jquery中val()与之类似,
$(this).val();获取某个元素节点的value值,相当于$(this).attr("value");
$(this).val(value);设置某个元素节点的value值,相当于$(this).attr("value",value);