BOM操作 querySelector() 和 querySeletorAll() 获取标签对象

999 阅读2分钟

DOM操作的基本步骤

            1,  设定 html css

            2,  获取 html标签对象

            3,  操作 html标签对象
                内容 属性 id class css样式 ....
                

! DOM操作 只能对一个标签对象进行操作

querySelector()

            var 变量 = document.querySelector('条件');
                只 获取 第一个符合条件的标签对象
                
                获取 结果是 一个独立的标签对象
                    可以直接进行DOM操作
                    
                没有符合条件的标签 获取结果是 null
                    ! 没有获取到正确的标签对象 不能执行DOM操作

querySeletorAll()

            var 变量 = document.querySelectorAll('条件');
                获取 所有 符合条件的标签对象

                获取 结果是 一个伪数组
                    有 length属性 有 索引下标 
                    但是 函数方法 和 正式的数组 不同

                    ! DOM操作 不能 直接对 伪数组进行操作
                        通过 []语法 从伪数组中获取一个独立的标签对象 进行操作
                        通过 循环语法 对 伪数组中 每一个独立的标签对象 进行操作

                没有符合条件的标签 获取结果是 空数组
                    也就是 length 是 0 的数组
                    ! 没有获取到正确的标签对象 不能执行DOM操作

括号中的参数:

                    以 字符串形式 定义 获取标签对象的 条件
                    条件的内容 可以是 所有 html css 支持的语法形式
                    
                    例如:  
                    标签名称  id属性  class属性  标签支持的属性  自定义属性  css选择器  结构伪类...
                    

还有了解不具体的同学可以仔细看一下

具体操作 案列 别看简单 跟着敲几遍你会更熟练!

<ul>
        <li>我是第一个li标签</li>
        <li>我是第二个li标签</li>
        <li>我是第三个li标签</li>
        <li>我是第四个li标签</li>
        <li>我是第五个li标签</li>
        <li>我是第六个li标签</li>
        <li>我是第七个li标签</li>
 </ul>

<script>
    // // 获取 整个文档中 第一个标签名称是 div 的标签 
    // var oDiv1 = document.querySelector('div');
    // console.log( oDiv1 );

    // // 获取 整个文档中 所有标签名称是 div 的标签 
    // var oDivs = document.querySelectorAll('span');
    // console.log( oDivs );

// 通过 标签名称 获取 标签对象

    var oDiv1 = document.querySelector('div');  标签是div 的项
    console.log( oDiv1 );

// 通过 id属性值 获取 标签对象

    var oDiv2 = document.querySelector('#div1');  ID 为div1 的项
    console.log( oDiv2 );

// 通过 class属性值 获取 标签对象

    var oDiv3 = document.querySelector('.div2');  类名  .div2 的项
    console.log( oDiv3 );

// 通过 属性属性值 获取 标签对象

    var oDiv4 = document.querySelector('[name="div3"]');  name div3 的项
    console.log( oDiv4 );

    var oDiv5 = document.querySelectorAll('[name*="v"]'); 带有 V 的项
    console.log( oDiv5 );

// 通过 结构伪类选择器获取

    var oUlLis1 = document.querySelectorAll( 'ul>li' ); ul 下的 li
    console.log( oUlLis1 );

    var oUlLis2 = document.querySelectorAll( 'ul>li:first-child' );第一个li
    console.log( oUlLis2 );

    var oUlLis3 = document.querySelectorAll( 'ul>li:last-child' ); 最后一个li
    console.log( oUlLis3 );

    var oUlLis4 = document.querySelectorAll( 'ul>li:nth-child(odd)' ); 奇数项
    console.log( oUlLis4 );

    var oUlLis5 = document.querySelectorAll( 'ul>li:nth-child(even)' );偶数项
    console.log( oUlLis5 );



</script>

谢谢观看 感谢点赞