document 常用操作记录

132 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情

什么是document

文档对象模型( Document Object Model ,简称DOM) , 是W3C组织推荐的处理可扩展标记语言( HTML或者XML )的标准编程接口。对于HTML Document对象,每个载入浏览器的 HTML 文档都会成为 Document 对象,同时document也是window对象的一个属性。

我们可以在浏览器开发模式下,直接打印这个对象,可以看到结果

image.png

dom常用操作方法

获取对象元素

1. getElementById

对于每个html标签可以设置id属性,在js中我们就可以通过id获取到这个元素。

        <div id="child"  class="child" >

        </div>  
        let child=document.getElementById('child')

2. getElementsByClassName

这个方法可以获取到html标签中,指定类名的元素。

同时拥有多个类名的元素,中间用空格隔开。

        <div id="child"  class="child child2"  >

        </div>
 let child=document.getElementsByClassName('child')//获取类名有child的元素
 let child=document.getElementsByClassName('child child2') //获取类名有child child2同时都有的元素

3. getElementsByTagName

这个方法是通获取指定html标签元素,如果传入* 那么获取到的是页面中所有元素,可以用来查看页面中的所有元素节点的个数用(".length")

let child=document.getElementsByTagName('div') //获取页面中div的元素。

获取和设置属性

getAttribute('属性名')

这个方法可以获取指定元素上的某个属性。

       <div id="child"  class="child child2"  >

        </div>
    let child=document.getElementById('child')
    let name = child.getAttribute('class') //获取class属性
    console.log('name: ', name); //打印 name:  child child2
    
    

setAttribute(“属性名”,“属性值”)

可以给指定标签设置一个属性和对应的属性值

    let child=document.getElementById('child')
    child.setAttribute('title','我设置了属性')
    let title = child.getAttribute('title')
    console.log('title: ', title); //打印 title:  我设置了属性

removeAttribute('属性名')

移除元素的某个属性

 let child=document.getElementById('child')
 child.removeAttribute('class'); //就会把class属性移除掉了,样式就没了

window.onload 函数

网页中的某些JavaScript脚本代码往往需要在文档加载完成后才能够去执行,否则可能导致无法获取对象的情况,为了避免类似情况的发生,我们可以使用window.onload事件, 因为页面加载的时候会执行onload事件,如果有两个onload事件一起存在时,只能有后面一个会生效。

  window.onload=function(){
        console.log('window.onload: ', window.onload);
        let child2=document.getElementById('child2')   
        console.log('child2: ', child2);
    }

innerHTML方法

下面id="child"里是空内容,那么使用innerHTML方法,内容将会被填充。但是如果里面有内容,内容则会被替换

    let child=document.getElementById('child')   
    child.innerHTML='<p>我来了</p>'

createElement('标签名')

创建一个标签,一般结合appendChild方法使用。

     let child=document.getElementById('child')
    var ptag=document.createElement("p");
    ptag.innerText='插入的标签'
    child.appendChild(ptag)

image.png

总结

主要记录一下平时可能常用的document对象的API,其实还有很多其他的,更多的可以查看官方文档 www.w3school.com.cn/jsref/dom_o… 来练习。