前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >09Document对象

09Document对象

作者头像
Dreamy.TZK
发布2020-04-13 18:32:51
4750
发布2020-04-13 18:32:51
举报
文章被收录于专栏:小康的自留地小康的自留地

什么是Document对象

  • document对象在DOM中代表了HTML页面
  • document也是DOM解析HTML页面的入口。

定位页面元素

定位页面元素常用的方法:

方法名

参数传入

作用

返回类型

示例

getElementById()

ID名

通过页面元素的id属性值定位元素

单个节点,既是Node也是Element类型

getElementById('p1')

getElementsByName()

name

通过页面元素的name属性值定位元素

NodeList

getElementsByName("pElement")

getElementsByClassName()

class

通过页面元素的class属性定位元素

HTMLCollection

getElementsByClassName("pElements")

getElementsByTagName()

元素名

通过元素的元素名定位元素

HTMLCollection

getElementsByTagName("p")

querySelector()

css选择器

通过css选择器定位第一个匹配的元素

单个节点,既是Node也是Element类型

querySelector('.pElement')

querySelectorAll()

css选择器

通过css选择器定位所有匹配的元素

NodeList

querySelectorAll('.pElement')

Document对象也提供了一些属性:

属性

作用

documentElement

获取HTML页面中的<html>元素

head

获取HTML页面中的<head>元素

title

获取HTML页面中的<title>元素

body

获取HTML页面中的<body>元素

links

获取HTML页面中的<a>元素

images

获取HTML页面中的<img>元素

NodeList与HTMLCollection的区别

二者都是集合

  • NodeList又称静态NodeList,就是就是对文档对象模型的任何改动都不会影响集合的内容。
  • HTMLCollection又成动态NodeList,所谓动态的 Nodelist集合,就是如果文档中的节点树发生变化,则已经存在的 Nodelist对象也可能会变化。

创建页面元素

  • 创建元素节点createElement() // 创建一个新的<option>元素 var optionElement = document.createElement("option")
  • 创建文本节点 // 创建文本节点 var textNode = document.createTextNode("保定")
  • 创建属性节点 var attrNode = document.createAttribute('value') 该属性只有一个参数为属性名称,没有属性值。属性值需要使用nodeValue属性完成。 attrNode.nodeValue = 'baoding' 由于属性节点不是元素节点的子节点,不能使用添加子节点的方式操作属性。想要添加属性节点需通过setAttributeNode()完成 optionElement.setAttributeNode(attrNode)

向一个页面中添加<option>元素方式的两种方案:

  • 第一种 // 1. 创建元素节点 var optionElement = document.createElement('option') // 2. 创建文本节点 var textNode = document.createTextNode('保定') // 3. 创建属性节点 var attrNode = document.createAttribute('value') // 通过nodeValue属性为属性节点设置值 attrNode.nodeValue = 'baoding' // 4. 如何添加属性节点(既不是父节点也不是子节点) optionElement.setAttributeNode(attrNode) // 5. 将文本节点作为元素节点的子节点添加 optionElement.appendChild(textNode) // 6. 获取页面的元素 var select = document.getElementById('menu') // 7. 将创建的元素节点添加到页面中去 select.appendChild(optionElement)
  • 第二种 // 1. 创建元素节点 var optionElement = document.createElement('option') // 2. 创建文本节点 var textNode = document.createTextNode('保定') // 3. 通过setAttribute()方法创建属性,同时赋值 optionElement.setAttribute('value', 'baoding') // 4. 将文本节点作为元素节点的子节点添加 optionElement.appendChild(textNode) var select = document.getElementById('menu') select.appendChild(optionElement)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是Document对象
  • 定位页面元素
    • NodeList与HTMLCollection的区别
    • 创建页面元素
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档