DOM入门

div就是元素节点(任意的标签都是元素节点)
id就是属性节点 (任意的属性都是属性节点)
你好就是文本节点 (任意的文本都是文本节点)

1.DOM  全称document object model 文档对象模型 操作html
         html文档由html+css组成 DOM利用js操作html+css的
         操作元素节点 element  Element 元素节点对象
         查 获取元素节点的方式

        一. 通过选择器获取 
       1. id选择器 通过id属性来获取元素 里面的参数为string类型的id 返回值是一个htmlElement
     

  var box = document.getElementById("box") //获取id值为box的元素
        console.log(box);


        2. class选择器 通过class属性名来获取对应的元素 他传入的参数为string类型的class名字 
        返回值是一个htmlCollectoinof<Element> 返回的是一个集合 这个集合里面存储了Element
           htmlCollection是类似数组的一种结构 具备下标同时具备length属性 可能会有多个数据
        但是htmlCollection并不是一个数组 他不具备数组的方法 只是存在对应的下标和length属性
       

 var content = document.getElementsByClassName("content")
        console.log(content);


        所以我们可以通过下标来获取对应的htmlCollection里面的元素
        console.log(content[0]);
        3.标签选择器 里面传入的是一个标签名字的string字符串 返回的也是一个htmlCollection
     

   var div = document.getElementsByTagName('div')
        console.log(div);//这里是一个htmlCollection


        通过下标来进行获取里面的元素
        console.log(div[0]);
         通过name值来获取 返回的类型是一个nodeList nodeList不是htmlCollection
        但是他同样具备对应的下标和length属性 他的方法比htmlCollection要多
        4.nodeList和htmlCollection的区别
        var divName = document.getElementsByName('divName')
        console.log(divName);
        console.log(divName[0]);
       5.复合选择器 里面的参数为string类型的选择器  返回第一个匹配选择器的元素 返回的是一个element
       

 var selectDiv = document.querySelector("div")
        console.log(selectDiv);


        返回所有匹配选择器的元素 接收的是一个nodeList
       

 var selectAll = document.querySelectorAll('.content')
        console.log(selectAll);
        console.log(selectAll[0]);


         操作属性节点 attribute Attr属性节点对象 设置属性节点
        element内置的属性 element.属性名
       

 var box = document.getElementById("box") //获取id值为box的元素

         className
        console.log(box.className);//返回class名字 同样我们可以进行赋值 set元素属性
        box.className='jack' //设置class属性名
       // id
        console.log(box.id); //获取id名字
        box.id = 'rose'
       // title
        console.log(box.title); //获取title名字 没有为空
        box.title = '刘德华'
       // style 样式操作 element.style.样式名
        box.style.background = 'red' //给背景颜色赋值为红色
        console.log(box.style.background); //获取背景颜色
         //操作文本节点 text   Text文本节点对象 设置文本节点
        innerText 获取显示的文本 赋值就是设置对应的文本
        console.log(box.innerText); //获取里面显示的文本(忽略标签)
         box.innerText = '睡了没' //覆盖之前里面的的所有内容
         box.innerText = '<b>吃了没</b>'  //设置文本 是不会解析里面的标签的
        innerHTML 获取显示的html内容 赋值就是设置对应的html内容
        console.log(box.innerHTML); //会将里面所有的html代码全部获取
        box.innerHTML = '<b>吃了没</b>' //他会解析里面的b标签 显示为html加粗效果

DOM补充

// document.getElementById() //通过id获取 返回的是元素
 // document.getElementsByClassName() //通过class获取 返回的是htmlCollection
 // document.getElementsByTagName() //通过标签名获取 返回的是htmlCollection
// document.getElementsByName() //通过name属性获取 返回的是NodeList
// document.querySelector() //通过选择器获取第一个 返回的是元素
// document.querySelectorAll() //通过选择器获取所有的 返回的是NodeList
// 元素共有属性 赋值就是设置 不赋值就是获取
 //className title id innerText innerHTML style
 //tagName 获取标签名 document表示整个文档
        var content = document.getElementById('content')
        console.log(content.tagName); //tagName是一个只读属性 不能进行设置
        //document表示整个文档 使用document.获取方法 是在全文中进行获取
        //缩小区域进行获取
        var btns = document.getElementsByTagName('button') //里面会包含按钮4
        console.log(btns);
        //缩小区域进行获取
        // 首先获取content这个div 然后再在这个div里面进行获取button
        var innerBtns = document.getElementById('content').getElementsByTagName('button')
        // var content = document.getElementById('content')
        // var innerBtns = content.getElementsByTagName('button')
        console.log(innerBtns);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值