DOM操作

dom对象的innerText和innerHTML有什么区别?

  • innerText 是一个可写属性,返回元素内包含的文本内容,在多层次的时候会按照元素由浅到深的顺序拼接其内容。设置innerText 属性时,给定的值都会被视为文本内容,即使其中包含 HTML 标签
  • innerHTML 返回元素的 HTML 结构,在写入时会自动构建 DOM

elem.children和elem.childNodes的区别?

  • children 为只读属性,返回一个节点的子元素(元素子节点),是一个动态更新的 HTMLCollection
  • childNodes 返回包含指定节点的子节点的集合,包括文本子节点,该集合为即时更新的集合(live collection)

查询元素有几种常见的方法?ES5的元素选择方法是什么?

document.getElementById()
document.getElementsByClassName()
document.getElementsByTagName()
document.getElementsByName()
// 以下为 ES5 新增的方法
document.querySelector() // => 只能获取第一个
document.querySelectorAll()

如何创建一个元素?如何给元素设置属性?如何删除属性?

// 创建元素
var script = document.createElement('script')
// 设置属性
script.setAttribute('src', 'xxx')
// 删除属性
script.removeAttribute('src')

如何给页面元素添加子元素?如何删除页面元素下的子元素?

// 如上,虽然创建了新的 script 元素,却没有添加到文档中
var body = document.getElementsByTagName('body')[0]
body.appendChild(script)
// 删除子元素
body.removeChild(script)

element.classList有哪些方法?如何判断一个元素的 class 列表中是包含某个 class?如何添加一个class?如何删除一个class?

element.classList.add() // 新增 class
element.classList.remove() // 删除 class
element.classList.toggle() // 新增/删除切换
element.classList.contains() // 判断是否拥有 class,返回值为boolean

如何选中如下代码所有的li元素? 如何选中btn元素?

<div class="mod-tabs">
   <ul>
       <li>list1</li>
       <li>list2</li>
       <li>list3</li>
   </ul>
   <button class="btn">点我</button>
</div>
// 选取 li 元素
// 1
var li_1 = document.getElementsByTagName('li')
// 2
var li_2 = document.getElementsByTagName('ul').childNodes
// 3
var li_3 = document.querySelectorAll('li')
// 选中 btn 元素
// 1
var btn_1 = document.getElementsByClassName('btn')[0]
// 2
var btn_2 = document.getElementsByTagName('button')
// 3
var btn_3 = document.querySelector('.btn')
// 4
var btn_4 = document.querySelector('button')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基本介绍 文档对象模型 (DOM) 是HTML和XML文档的编程接口。它给文档(结构树)提供了一个结构化的表述并且...
    草鞋弟阅读 3,359评论 0 0
  • 1.概述 1.1DOM DOM是JavaScript操作网页的接口,全称为“文档对象模型”(Document Ob...
    徐国军_plus阅读 2,990评论 0 3
  • 1: dom对象的innerText和innerHTML有什么区别? innerText:当使用innerText...
    进击的前端_风笑影阅读 3,142评论 0 0
  • dom对象的innerText和innerHTML有什么区别? innerHTML:在读模式下,innerHTML...
    _Dot912阅读 4,012评论 0 1
  • 所以还是先撸书吧 锌皮娃娃兵 1.只有绝望的人才能对您讲出所有事实,只有完全绝望的人才能对您讲出一切。 2.子弹射...
    宛耳阅读 3,677评论 0 0