0
点赞
收藏
分享

微信扫一扫

jquery语法学习07(attr和prop)


首先我们得了解什么是属性和属性节点~

1)属性和属性节点

?什么是属性
?什么是属性节点

function Per(){};//类
var er = new Per(); //new一个对象
 er.name='二麻' //name就是属性
er['name']=‘二麻’//第二种方式

<span name ='oscar'></span>// HTML 标签里name就是属性节点;
属性节点都保存在 attributes里;

JS设置属性节点 
 var $id1 = document.getElementById("id1");
 $id1.setAttribute("name",'ld');//设置属性节点
 $id1.getAttribute("name");//获得属性节点

了解后 我们在说Attr与Prop

2)Attr和Prop

Attr(方法)
var $span = $("span").attr('name');//这种写法如果有多个Span 只会返回第一个

var $span = $("span").attr('name','xj');//所有的Span 的 name节点属性 都会被设置成xj

var $span = $("span").attr('LL','IT');//如果HTML所有 span里没有这个LL节点属性 就会增加LL节点属性 并赋值IT

var $span = $("span").removeAttr("name LL");//所有都Span的 name 和 LL节点属性都会被删除
Prop(方法)
功能和Attr大同小异

var $span = $("span").prop('name','oll'); 增加了一个固有属性name 设置成oll
var $span = $("span").prop('class'); 参数要是固有属性 会查询到满足的第一个
var $span = $("span").removeProp('name'); 与Attr一样 删除
var $span = $("span").prop('class','IT');设置属性节点class值为IT

3)Attr和Prop区别

那么Pro和attr 有什么区别?
1)Html固定标签 比如Class 和ID这样的 用Prop ,自定义属性 用Attr 
2)Prop优于Attr(怎么优于 咱暂时不知道)
3)在具有 true和false俩个属性的属性节点,如 checked, selected或者disabled使用prop() 其他使用attr()
举个栗子 input标签 有无 checked  通过返回值我们知道 Prop更容易判断一些

var $name = $("input").prop('checked');
console.log('value :', $name);// true/false
var $arname = $("input").attr('checked');
console.log('value :', $arname);// checked /undefined



<input type="checkbox" checked/>

举报

相关推荐

0 条评论