转自:http://segmentfault.com/a/1190000000660947

在浏览器中,与用户进行数据交换都是通过客户端的javascript代码来实现的,而完成这些交互工作大多数是document对象及其部件进行的,因此document对象是一个比较重要的对象。

document对象概述

document对象是文档的根节点,window.document属性就指向这个对象。也就是说,只要浏览器开始载入HTML文档,这个对象就开始存在了,可以直接调用。

document.childNodes属性返回该对象的所有子节点。对于HTML文档来说,document对象一般有两个子节点。

第一个子节点是document.doctype,表示文档类型节点(DocumentType)。对于HTML5文档来说,该节点就代表<!DOCTYPE html>

第二个子节点是document.documentElement,表示元素节点(Element),代表:<html lang="en">。

document 对象的属性

document对象主要有如下属性:

属性 说明
document.title 设置文档标题等价于HTML的<title>标签
document.bgColor 设置页面背景色
document.linkColor 未点击过的链接颜色
document.alinkColor 激活链接(焦点在此链接上)的颜色
document.fgColor 设置前景色(文本颜色)
document.vlinkColor 已点击过的链接颜色
document.URL 设置URL属性从而在同一窗口打开另一网页
document.fileCreatedDate 文件建立日期,只读属性
document.fileModifiedDate 文件修改日期,只读属性
document.fileSize 文件大小,只读属性
document.cookie 设置和读出cookie
document.charset 设置字符集 简体中文:gb2312

指向其他节点或对象的属性

  1. document.doctype // <!DOCTYPE html>
  2. document.documentElement //返回文档的根节点 <html>...</html>
  3. document.head // <head>...</head>
  4. document.body // <body>...</body>
  5. document.defaultView // window
  6. document.querySelector('textarea').focus();
  7. document.activeElement // <textarea>

querySelector返回的是一个对象,而querySelectorAll返回的一个集合(NodeList)。IE8以上支持

详见:W3C selector API

指向特定元素集合的属性

  1. document.all :文档中所有的元素,Firefox不支持该属性。
  2. document.forms :所有的form元素。
  3. document.images:所有的img元素。
  4. document.links:所有的a元素。
  5. document.scripts:所有的script元素。
  6. document.styleSheets:所有的link或者style元素。

对象方法:

方法 说明
document.write() 动态向页面写入内容
document.createElement(Tag) 创建一个html标签对象
document.getElementById(ID) 获得指定ID值的对象
document.getElementsByTagName(tagname) 获得指定标签名的对象
document.getElementsByName(Name) 获得指定Name值的对象
document.getElementsByClassName(classname) 获得指定类名的对象(html5 API)

getElementById(id)方法返回一个对象,该对象对应着文档里一个特定的元素节点。
getElementsByTagName()方法将返回一个对象数组,他们分别对应着文档里一个特定的元素节点

write()和writeln()方法:区别在于后者在传送到文档中的字符串末时附加一个回车符。

querySelector方法的参数使用CSS选择器语法,getElementById方法的参数是HTML标签元素的id属性。

  1. document.querySelector('li')
  2. document.getElementById('last')

如果有多个节点满足querySelector方法的条件,则返回第一个匹配的节点。

document.createElement()是在对象中创建一个对象,要与appendChild() 或 insertBefore()方法联合使用。

其中,appendChild() 方法在节点的子节点列表末添加新的子节点。insertBefore() 方法在节点的子节点列表任意位置插入新的节点。

body-主体子对象

  1. document.body //指定文档主体的开始和结束等价于body>/body>
  2. document.body.bgColor //设置或获取对象后面的背景颜色
  3. document.body.link //未点击过的链接颜色
  4. document.body.alink //激活链接(焦点在此链接上)的颜色
  5. document.body.vlink //已点击过的链接颜色
  6. document.body.text //文本色
  7. document.body.innerText //设置body>…/body>之间的文本
  8. document.body.innerHTML //设置body>…/body>之间的HTML代码
  9. document.body.topMargin //页面上边距
  10. document.body.leftMargin //页面左边距
  11. document.body.rightMargin //页面右边距
  12. document.body.bottomMargin //页面下边距
  13. document.body.background //背景图片
  14. document.body.appendChild(oTag) //动态生成一个HTML对象

常用对象事件

  1. document.body.onclick=”func()” //鼠标指针单击对象是触发
  2. document.body.onmouseover=”func()” //鼠标指针移到对象时触发
  3. document.body.onmouseout=”func()” //鼠标指针移出对象时触发

图层对象的4个属性

  1. document.getElementById(”ID”).innerText //动态输出文本
  2. document.getElementById(”ID”).innerHTML //动态输出HTML
  3. document.getElementById(”ID”).outerText //同innerText
  4. document.getElementById(”ID”).outerHTML //同innerHTML

看如下例子:

  1. <p>hello world!<span>你好</span></p>
  2. <script>
  3. var p = document.getElementsByTagName('p');//集合
  4. // alert(p[0].textContent);//firefox
  5. // alert(p[0].innerText);//IE
  6. alert(p[0].innerHTML);//hello world!<span>你好</span>
  7. alert(p[0].outerHTML);//<p>hello world!<span>你好</span></p>
  8. alert(p[0].textContent);//hello world!你好
  9. </script>

思维导图

详解JavaScript Document对象的更多相关文章

  1. 详解javascript中的this对象

    详解javascript中的this对象 前言 Javascript是一门基于对象的动态语言,也就是说,所有东西都是对象,一个很典型的例子就是函数也被视为普通的对象.Javascript可以通过一定的 ...

  2. js对象详解(JavaScript对象深度剖析,深度理解js对象)

    js对象详解(JavaScript对象深度剖析,深度理解js对象) 这算是酝酿很久的一篇文章了. JavaScript作为一个基于对象(没有类的概念)的语言,从入门到精通到放弃一直会被对象这个问题围绕 ...

  3. JS函数动作分层结构详解及Document.getElementById 释义 js及cs数据类型区别 事件 函数 变量 script标签 var function

    html +css 静态页面 js     动态 交互   原理: js就是修改样式, 比如弹出一个对话框. 弹出的过程就是这个框由disable 变成display:enable. 又或者当鼠标指向 ...

  4. 详解 javascript中offsetleft属性的用法(转)

    详解 javascript中offsetleft属性的用法 转载  2015-11-11   投稿:mrr    我要评论 本章节通过代码实例介绍一下offsetleft属性的用法,需要的朋友可以做一 ...

  5. 详解javascript的类

    前言 生活有度,人生添寿. 原文地址:详解javascript的类 博主博客地址:Damonare的个人博客 Javascript从当初的一个"弹窗语言",一步步发展成为现在前后端 ...

  6. 详解Javascript的继承实现(二)

    上文<详解Javascript的继承实现>介绍了一个通用的继承库,基于该库,可以快速构建带继承关系和静态成员的javascript类,好使用也好理解,额外的好处是,如果所有类都用这种库来构 ...

  7. 【转】详解JavaScript中的this

    ref:http://blog.jobbole.com/39305/ 来源:foocoder 详解JavaScript中的this JavaScript中的this总是让人迷惑,应该是js众所周知的坑 ...

  8. Lucene系列五:Lucene索引详解(IndexWriter详解、Document详解、索引更新)

    一.IndexWriter详解 问题1:索引创建过程完成什么事? 分词.存储到反向索引中 1. 回顾Lucene架构图: 介绍我们编写的应用程序要完成数据的收集,再将数据以document的形式用lu ...

  9. c# 把一个匿名对象赋值给一个Object类型的变量后,怎么取这个变量? c# dynamic动态类型和匿名类 详解C# 匿名对象(匿名类型)、var、动态类型 dynamic 深入浅析C#中的var和dynamic

    比如有一个匿名对象,var  result =......Select( a=>new {  id=a.id, name=a.name});然后Object  obj =  result ;我怎 ...

随机推荐

  1. D10 基本数据类型(各种职业的技能分析) 主要为 int 和 str

    在python中具有魔法的  职业  类型 召唤每种职业  在pychar 中 打出该职业的名称 按住Ctrl 光标在该职业名称上 点击就能看该职业的技能 1   数字   int a = " ...

  2. go语言实现leetcode-242

    package main import ( "fmt" "reflect" ) func isAnagram(s string, t string) bool ...

  3. share团队冲刺7

    团队冲刺第七天 昨天:加入activity的内容,和队友的代码进行整合实现部分按钮功能 今天:继续完善代码,完善其他页面的功能,对主页和发表页面进行开发 问题:无

  4. tensorflow函数解析:Session.run和Tensor.eval

    原问题链接: http://stackoverflow.com/questions/33610685/in-tensorflow-what-is-the-difference-between-sess ...

  5. 吴裕雄--天生自然 PHP开发学习:魔术常量

    <?php echo '这是第 " ' . __LINE__ . ' " 行'; ?> <?php echo '该文件位于 " ' . __FILE__ ...

  6. ZJNU 2135 - 小智的宝可梦

    因为成环 所以可以枚举第1只与第n只喂的次数 然后第1只和第2只的次数就固定了,以此类推,则所有宝可梦喂的次数都固定了 最后处理完检查是否全为0,不是则进行下一次枚举,是则直接输出Yes 如果所有枚举 ...

  7. springboot配置多个yml文件

    新接触了springboot项目,yml一大堆,启动不知道用的哪个,各种百度后: <profiles> <profile> <id>dev</id> & ...

  8. Linux笔记(二)

    Linux笔记(二) 一.软件包管理 1.rpm命令使用:Linux安装软件包的三种方法 rpm工具类似于Windows的exe文件,可以直接进行安装,而且安装路径和文件名一般都是固定好的. 在Cen ...

  9. dubbo配置文件加载顺序

    JVM 启动 -D 参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口. XML 次之,如果在 XML 中有配置,则 dubbo.properties 中的相应配置项无效 ...

  10. tensorflow用法记录

    使用 embedding 变量 import tensorflow as tf import numpy as np sess = tf.InteractiveSession() M = list(' ...