在html标签中可以添加的自定义属性,通过setAttribute()设置自定义属性值,getAttribute()获取自定义属性值

    • getAttribute() 获取标签行内属性
    • setAttribute() 设置标签行内属性
    • removeAttribute() 移除标签行内属性

    //元素.属性 和 getAttribute()区别:
    1.元素.属性可以获取标签封装的dom对象中现有的属性值
    2.getAttribute()可以获取任意的行内属性(写在标签中的属性)

    1. <ul id="uu">
    2. <li score="10">张三</li>
    3. <li score="20">李四</li>
    4. <li score="30">王五</li>
    5. <li score="40">赵六</li>
    6. <li score="50">朱琪</li>
    7. </ul>
    8. <script>
    9. //当前的li标签本身没有score这个属性,这个属性是程序员自己添加的。
    10. //因此在构建此标签的文档对象的时候,标签的score属性不会被封装到dom对象中
    11. //score这个属性是自定义属性,为了存储一些数据
    12. //在html标签中添加的自定义属性,如果想要获取这个属性的值,
    13. //需要使用getAttribute("自定义属性的名字")才能获取这个属性的值
    14. //获取所有的li标签
    15. var list=document.getElementsByTagName("li");
    16. for(var i=0;i<list.length;i++){
    17. list[i].onclick=function () {
    18. //alert(this.score);//不能
    19. //可以
    20. alert(this.getAttribute("score"));
    21. };
    22. }
    23. </script>

    test.gif

    1. <ul id="uu">
    2. <li >张三</li>
    3. <li >李四</li>
    4. <li >王五</li>
    5. <li >赵六</li>
    6. <li >朱琪</li>
    7. </ul>
    8. <script>
    9. //总结:设置自定义属性:setAttribute("属性的名字","属性的值");
    10. //获取自定义属性的值:getAttribute("属性的名字")
    11. //根据id获取ul标签,并且或者该标签中所有的li
    12. var list=my$("uu").getElementsByTagName("li");
    13. //循环遍历
    14. for(var i=0;i<list.length;i++){
    15. //先为每个li添加自定义属性
    16. //list[i].score=(i+1)*10;//此方式,自定义属性在DOM对象上,不在标签中
    17. list[i].setAttribute("score",(i+1)*10);
    18. //点击每个li标签,显示对应的自定义属性值
    19. list[i].onclick=function(){
    20. alert(this.getAttribute("score"));
    21. };
    22. }
    23. </script>

    test.gif

    1. <div id="dv" score="10" class="cls"></div>
    2. <script>
    3. //移除自定义属性:removeAttribute("属性的名字")
    4. //点击按钮移除元素的自定义属性
    5. my$("btn").onclick=function () {
    6. //my$("dv").removeAttribute("score");
    7. //还可以通过removeAttribute()移除元素的类样式
    8. //my$("dv").className=""; //值没有了,但是属性还是有的
    9. my$("dv").removeAttribute("class"); //移除元素的自带的属性
    10. };
    11. </script>