美文网首页
原生JS与jQuery自定义属性的操作

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

作者: GoFzy | 来源:发表于2019-03-15 11:22 被阅读0次

    一、自定义属性:

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

    <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属性,可显示

    相关文章

      网友评论

          本文标题:原生JS与jQuery自定义属性的操作

          本文链接:https://www.haomeiwen.com/subject/clflmqtx.html