DOM扩展

作者: 琪33 | 来源:发表于2018-04-20 18:08 被阅读0次

1.1 获取元素

1、document.getElementsByClassName ('class') 通过类名获取元素,以类数组形式存在。

2、document.querySelector(‘div’) 通过CSS选择器获取元素,符合匹配条件的第1个元素。

 <style>
        .box{
            width: 300px;
            height: 100px;
            margin:10px auto;
            border: 1px solid #000;
        }
    </style>
</head>
<body>
    <div class="box box1" id="box1"></div>
    <div class="box box3 "></div>
    <div class="box box3"></div>
    <div class="box box4"></div>

    <script>
         var box1=document.querySelector('.box3');
         box1.style.background='red';
    </script>

3、document.querySelectorAll('selector') 通过CSS选择器获取元素,以类数组形式存在。

<style>
        .box{
            width: 300px;
            height: 100px;
            margin:10px auto;
            border: 1px solid #000;
        }
    </style>
</head>
<body>
    <div class="box box1"></div>
    <div class="box box2"></div>
    <div class="box box3"></div>
    <div class="box box4"></div>

    <script>
        //会获取所有复合条的 标签,返回的是一个数组, 参数:可以是任意 css选择器
     var divs= document.querySelectorAll('div.box');
        console.log(divs);
        for(var i=0;i<divs.length;i++){
            divs[i].style.background='red';
        }
    </script>

1.2 类名操作

1、Node.classList.add('class') 添加class

2、Node.classList.remove('class') 移除class

3、Node.classList.toggle('class') 切换class,有则移除,无则添加

4、Node.classList.contains('class') 检测是否存在class

Node指一个有效的DOM节点,是一个通称。

<style>
        .box{
            width: 300px;
            height: 100px;
            margin:10px auto;
            border: 1px solid #000;
        }
        .active{
            border-radius: 50%;
            background-color: pink;
        }
    </style>
</head>
<body>
    <div class="box box1 "></div>
    <div class="box box2"></div>
    <div class="box box3"></div>
    <div class="box box4"></div>
    <button>切换</button>

    <script>
        var box1=document.querySelector('.box1');
//       添加类名
        box1.classList.add('active');
//       删除类名
        box1.classList.remove('active');
//       contains:包含
//      判断是否包含某个类名  返回结果 true/false
        var f=box1.classList.contains('active');
        console.log(f);
//      切换类名
        document.querySelector('button').onclick=function(){
        document.querySelector('.box3').classList.toggle('active');
        }
    </script>

1.3 自定义属性

 <!-- 给标签添加自定义属性 必须以data-开头 -->
    <div class="box" title="盒子" data-my-name="zs"  data-content="我是一个div">div</div>
    <script>
        var box=document.querySelector('.box');
        console.log(box.dataset['content']);
//        设置自定义属性的值
        box.dataset['content']='aaaa';
//        data-my-name="zs" 如何获取
        console.log(box.dataset['myName']);
    </script>

相关文章

  • DOM扩展

    本章内容:介绍Selectors API、HTML5 DOM扩展、了解专有的DOM扩展 对DOM的主要扩展是 Se...

  • 11 DOM 扩展

    本章内容 理解 Selectors API 使用 HTML5 DOM 扩展 了解专有的 DOM 扩展 对 DOM ...

  • DOM扩展

  • DOM扩展

    1.1 获取元素 1、document.getElementsByClassName ('class') 通过类名...

  • DOM扩展

    querySelector与querySelectorAll querySelector:返回与模式匹配的第一个元...

  • DOM扩展

    选择符API querySelector()方法接收一个css选择符,返回与该模式匹配的第一个元素;通过Eleme...

  • DOM扩展

  • DOM扩展

    1、选择符API querySelector()接收一个CSS选择符,返回与该模式匹配的第一个元素,如果没有找到匹...

  • DOM扩展

    DOM扩展 Selectors API和HTML5 Selctor API querySelector() que...

  • DOM扩展

    以下内容总结自《JS高级程序设计》第三版 DOM作为API已经很完善了,但是为了实现更多功能,仍然会有一些属于浏览...

网友评论

      本文标题:DOM扩展

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