一.attr()、 removeAttr()
- 类似于js中的attribute
- js中
- ele.setAttribute();设置属性
div.setAttribute('class','demo');
--><div class = "demo">...</div>
- ele.getAttribute();获取行间属性值
<div id = "only"> ...</div>
div.getAttribute('id');
--->"only"
- removeAttr()可以删掉固有属性
<input type="text" id="name" sth="sth">
<script src="../jquery-3.3.1.js"></script>
<script type="text/javascript">
$('input').removeAttr('id');
console.log($('input').attr('id'));
二.prop()、 removeProp()
- 类似js中的property
- removeProp()可以自定义的属性(prop()可以设置自定义属性,只是无法添加到html中去),无法删掉固有属性
三.attr()与prop()的区别
<input type="text" id="name" sth="sth">
<div>div</div>
<p>pp</p>
<script src="../jquery-3.3.1.js"></script>
<script type="text/javascript">
console.log($('input').attr('sth'));
//正常打印sth属性值
console.log($('input').prop('sth'));
//输出undefined
console.log($('input').attr('id'));
//正常输出name
console.log($('input').prop('id'));
//正常输出name
$('div').attr('lecturer','Arya');
//正常添加属性
$('p').prop('lecturer','Arya');
//无法添加属性
- 属性分为两种:
1、固有属性(特性):html元素上本身就有的属性,eg:class,id,src,href,value,alt,type,title
2、新增属性:自定义的属性
- attr()可以获取、设置所有属性;prop()只可以获取、设置固有属性(特性);
- attr()中可以填写对象,使得选中的dom元素遍历加入对象中的所有属性
$('div').attr({
id:'test',
lecturer:'Arya'
});
- attr与prop,取值取第一个,赋值一组
- attr获取未设置的属性,返回undefined;prop获取未设置的特性,返回空;
- prop在多选中,可以通过checked固有属性来判断是否选中(true/false)
eg:多选题,全选选项如何实现
选中时checked属性值为true,未选中时为false