原生JS与jQuery自定义属性的操作

2019-03-15  本文已影响0人  GoFzy

一、自定义属性:

  首先我们来弄清楚什么是自定义属性:

<ul>
  <li age='10'>A</li>
  <li age='11'>B</li>
  <li age='12'>C</li>
  <li age='13'>D</li>
</ul>

  由html的基础知识我们知道,html标签是不存在age属性的,而此时我们自己添加上去的age属性就称之为自定义属性。由于DOM.的方式只能获取html标签原有的属性,因此自定义属性就不可以直接通过该方式进行操作,比如下面这段代码,就会输出undefined:

var list = document.getElementsByTagName('li');
for(let i = 0;i<list.length;i++){
  list[i].onclick = function(){
    console.log(this.age);  //结果为undefined
  }
}

二、原生JS操作自定义属性:

//自定义属性的获取:
对象.getAttribute('键');
//自定义属性的添加与修改
对象.setAttribute('键',值);
//自定义属性的删除:
对象.removeAttribute('键');

  需要注意的是get/set/removeAttribute方法不仅仅可以操作自定义属性,还可以对DOM的系统属性进行操作(系统属性.方式更便捷)

三、jQuery操作属性:

  jQuery中可以通过attr方法直接操作所有属性:

//属性的获取:
$('对象').attr(属性)
//属性的添加与修改
$('对象').attr(属性,值)
//属性的删除:
$('对象').removeAttr(属性);

  需要注意的是,jQuery中attr方法在操作表单元素选中属性时(selected、checked等)时返回的时undefined。这是就需要使用prop方法:

//属性的获取:
$('对象').prop(属性);
//属性的添加与修改
$('对象').prop(属性,值);

  tips:prop一般用来设置js对象的属性,故不会再html中显示;attr是这设置html属性,可显示

上一篇下一篇

猜你喜欢

热点阅读