js每日一问(11)

74 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第21天,点击查看活动详情

一。DOM常见的操作有哪些?

创建节点:

  • createElement 创建新元素,接受一个参数,即要创建元素的标签名
  • createTextNode 创建一个文本节点
  • createDocumentFragment 用来创建一个文档碎片,它表示一种轻量级的文档,主要是用来存储临时节点,然后把文档碎片的内容一次性添加到DOM中。当请求把一个DocumentFragment 节点插入文档树时,插入的不是 DocumentFragment自身,而是它的所有子孙节点
  • createAttribute 创建属性节点,可以是自定义属性

获取节点:

  • querySelector 根据css的选择器获取单个元素
  • querySelectorAll 根据css的选择器获取所有元素
  • getElementById 根据元素的id属性获取单个元素
  • getElementsByClassName 根据元素的class属性获取所有元素
  • getElementsByTagName 根据元素的标签名获取所有元
  • getElementsByName 根据元素的name属性获取所有元素
  • document.documentElement 获取html标签
  • document.body 获取body标签

更新节点:

  • innerHTML 更新html内容
  • innerText、textContent 更新文本内容。两者的区别在于读取属性时,innerText不返回隐藏元素的文本,而textContent返回所有文本
  • style 操作元素的样式

添加节点:

  • innerHTML 直接使用innerHTML属性,向元素中添加元素

  • appendChild 把一个子节点添加到父节点的最后一个子节点

  • insertBefore 把子节点插入到指定的位置

    parentElement.insertBefore(newElement, referenceElement)
    //子节点会插入到referenceElement之前
    
  • setAttribute 在指定元素中添加一个属性节点,如果元素中已有该属性改变属性值

    const div = document.getElementById('id')
    div.setAttribute('class', 'white');//第一个参数属性名,第二个参数属性值。
    

删除节点:

删除一个节点,首先要获得该节点本身以及它的父节点,然后,调用父节点的removeChild把自己删掉

二。说说你对BOM的理解,常见的BOM对象你了解哪些?

是什么:

BOM (Browser Object Model),浏览器对象模型,提供了独立于内容与浏览器窗口进行交互的对象

其作用就是跟浏览器做一些交互效果,比如如何进行页面的后退,前进,刷新,浏览器的窗口发生变化,滚动条的滚动,以及获取客户的一些信息如:浏览器品牌版本,屏幕分辨率

浏览器的全部内容可以看成DOM,整个浏览器可以看成BOM

window:

Bom的核心对象是window,它表示浏览器的一个实例

在浏览器中,window对象有双重角色,即是浏览器窗口的一个接口,又是全局对象

因此所有在全局作用域中声明的变量、函数都会变成window对象的属性和方法

location:操作url地址信息

navigator:获取浏览器的属性,区分浏览器类型

screen:获取浏览器窗口外面的客户端显示器的信息

history:用来操作浏览器URL的历史记录