bob体育官方平台
JS访问DOM节点方法详解_javascript技巧_脚本之家

正文实例陈诉了JS访谈DOM节点方法。共享给大家供大家参照他事他说加以调查,具体如下:

HTML 文书档案中的每一个成分都是五个节点。

探求并访谈节点

节点

依靠 DOM,HTML 文书档案中的每一个成分都以三个节点。

DOM 是如此规定的:

  • 全总文书档案是贰个文书档案节点
  • 种种 HTML 标签是一个成分节点
  • 含有在 HTML 成分中的文本是文本节点
  • 每二个 HTML 属性是贰本性能节点
  • 评释归属注释节点

你可因此若干种方式来探究您希望操作的因素:

Node 层次

节点互相都有等第关系。

HTML 文书档案中的全数节点组成了叁个文书档案树(或节点树)。HTML 文书档案中的各个成分、属性、文本等都意味着树中的四个节点。树开始于文书档案节点,并经过继续伸出枝条,直随地于那棵树最低端别的装有文件节点甘休。

下边那几个图形表示叁个文书档案树(节点树):

图片 1

蓬蓬勃勃棵节点树中的全数节点相互都以有关联的。

经过应用 getElementById(卡塔尔(قطر‎ 和 getElementsByTagName(卡塔尔(قطر‎ 方法

文档树(节点数)

请看下边那几个HTML文书档案:

<html>
  <head>
    <title>DOM Tutorial</title> 
  </head> 
  <body> 
    <h1>DOM Lesson one</h1> 
    <p>Hello world!</p> 
  </body> 
</html>

上面装有的节点互相间都存在关系

除文档节点之外的各种节点都有父节点。举个例子,<head> 和 <body> 的父节点是 <html> 节点,文本节点 "Hello world!" 的父节点是 <p> 节点。

大大多因晚秋点皆有子节点。举例说,<head> 节点有贰个子节点:<title> 节点。<title> 节点也会有一个子节点:文本节点 "DOM Tutorial"。

当节点共享同三个父节点时,它们正是同辈(同级节点)。例如说,<h1> 和 <p>是同辈,因为它们的父节点均是 <body> 节点。

节点也足以有所后代,后代指有个别节点的全部子节点,或许这个子节点的子节点,就那样类推。比如说,全体的文本节点都以<html>节点的后生,而首先个文件节点是 <head> 节点的后裔。

节点也能够具备先辈。先辈是有个别节点的父节点,大概父节点的父节点,就这样推算。举个例子说,所有的公文节点都可把 <html> 节点作为先辈节点。

因而 DOM,您可访问 HTML 文书档案中的各样节点。

透过利用二个因早秋点的 parentNode、firstChild 甚至 lastChild 属性

检索并拜会节点

您可因此若干种方法来搜寻您希望操作的要素:

  • 由此接纳 getElementById(卡塔尔(英语:State of Qatar) 和 getElementsByTagName(卡塔尔(قطر‎ 方法
  • 透过动用三个因白藏点的 parentNode、firstChild 以致 lastChild 属性

getElementById() 和 getElementsByTagName()

getElementById() 和 getElementsByTagName()

getElementById(卡塔尔(قطر‎ 和 getElementsByTagName(卡塔尔(قطر‎ 那二种格局,可检索整个 HTML 文档中的任何 HTML 成分。

那三种方法会忽视文书档案的协会。借让你希望物色文书档案中有着的 <p> 成分,getElementsByTagName(卡塔尔 会把它们整个找到,不管 <p> 成分处于文书档案中的哪个档次。同期,getElementById(卡塔尔(قطر‎方法也会回去准确的要素,无论它被埋伏在文档构造中的什么岗位。

那三种方法会像你提供别的你所必要的 HTML 成分,无论它们在文书档案中所处的地点!

getElementById(卡塔尔国 可通过点名的 ID 来回到元素:

getElementById(卡塔尔(قطر‎ 和 getElementsByTagName(卡塔尔 这三种方法,可搜索整个 HTML 文档中的任何 HTML 成分。

getElementById() 语法

document.getElementById("ID"); 

注脚:getElementById(卡塔尔国 无法专门的职业在 XML 中。在 XML 文档中,您必须经过装有项目 id 的性质来进展搜索,而此类型必得在 XML DTD 中展开宣示。

getElementsByTagName(卡塔尔(قطر‎方法会使用钦赐的竹签字重临全部的成分(作为叁个节点列表),这一个因素是您在选用此方法时所处的要素的子孙。

getElementsByTagName(卡塔尔(英语:State of Qatar) 可被用于别的的 HTML 成分:

那二种方法会忽视文书档案的布局。倘使你愿意物色文书档案中有所的

getElementsByTagName() 语法

document.getElementsByTagName("标签名称"); 

或者:

document.getElementById('ID').getElementsByTagName("标签名称"); 

要素,getElementsByTagName(卡塔尔(英语:State of Qatar) 会把它们整个找到,不管

实例 1

上面那个事例会回去文书档案中保有 <p> 成分的三个节点列表:

document.getElementsByTagName("p"); 

要素处于文书档案中的哪个档期的顺序。相同的时间,getElementById(卡塔尔(قطر‎方法也会再次来到正确的要素,无论它被隐形在文书档案结构中的什么岗位。

实例 2

下边那一个事例会回去全数 <p> 成分的多个节点列表,且那一个 <p> 成分必得是 id 为 "maindiv" 的成分的子孙:

document.getElementById('maindiv').getElementsByTagName("p"); 

那三种方法会像你提供别的你所急需的 HTML 成分,无论它们在文书档案中所处的岗位!

节点列表(nodeList)

当大家应用节点列表时,平时要把此列表保存在三个变量中,就疑似这么:

var x=document.getElementsByTagName("p");

现在,变量 x 包括着页面中具备 <p> 成分的叁个列表,并且大家能够透过它们的索引号来拜会那些 <p> 成分。

批注:索引号从 0 初始。

你能够通过应用 length 属性来循环遍历节点列表:

var x=document.getElementsByTagName("p");
for (var i=0;i<x.length;i++)
  { 
  // do something with each paragraph
  }

您也能够通过索引号来访谈某些具体的要素。

要会见第几个 <p> 成分,您能够这么写:

var y=x[2];

getElementById(卡塔尔(قطر‎ 可由此点名的 ID 来回到成分:

parentNode、firstChild以及lastChild

那八个属性 parentNode、firstChild 甚至 lastChild 可依照文书档案的结构,在文档中举行“短间隔的远足”。

请看下边那些 HTML 片段:

<table>
  <tr>
    <td>John</td>
    <td>Doe</td>
    <td>Alaska</td>
  </tr>
</table>

在地点的HTML代码中,第叁个 <td> 是 <tr> 成分的第三个子成分(firstChild),而最终二个 <td> 是 <tr>成分的尾声一个子成分(lastChild)。

除此以外,<tr> 是各样 <td>元 素的父节点(parentNode)。

对 firstChild 最普及的用法是探问有个别成分的公文:

var x=[a paragraph];
var text=x.firstChild.nodeValue; 

parentNode 属性常被用来改变文档的布局。假让你希望从文书档案中剔除带有 id 为 "maindiv" 的节点:

var x=document.getElementById("maindiv");
x.parentNode.removeChild(x); 

首先,您需求找到带有内定 id 的节点,然后移至其父节点并实行 removeChild(卡塔尔(英语:State of Qatar)方法。

getElementById() 语法

根节点

有三种非常的文档属性可用来访谈根节点:

  • document.documentElement
  • document.body

首先个天性可再次回到存在于 XML 以至 HTML 文档中的文档根节点。

第2个天性是对 HTML 页面包车型客车独特增加,提供了对 <body> 标签的一向访谈。

nodeName、nodeValue 以至 nodeType 包蕴关于于节点的新闻。

document.getElementById;

节点消息

每一个节点都享有富含着关于节点有些消息的属性。这几个属性是:

  • nodeName(节点名称)
  • nodeValue(节点值)
  • nodeType(节点类型)

解说:getElementById(卡塔尔 不可能工作在 XML 中。在 XML 文书档案中,您必需通过具备项目 id 的属性来张开搜寻,而此类型必得在 XML DTD 中展开宣示。

nodeName

nodeName 属性含有某些节点的称谓。

  • 要上秋点的 nodeName 是标具名称
  • 属性节点的 nodeName 是性质名称
  • 文件节点的 nodeName 长久是 #text
  • 文档节点的 nodeName 永世是 #document

表明:nodeName 所包蕴的 XML 元素的标签字称永恒是大写的

getElementsByTagName(卡塔尔方法会使用钦赐的价具名再次来到全体的要素,那几个成分是您在接收此方式时所处的因素的后裔。

nodeValue

对此文本节点,nodeValue 属性包蕴文本。

对此属性节点,nodeValue 属性包括属性值。

nodeValue 属性对于文书档案节点和要商节点是不可用的。

getElementsByTagName(卡塔尔国 可被用于其余的 HTML 成分:

一个 HTML DOM 的实例

上面那些事例向我们来得了当叁个客商在文书档案中式茶食击时,HTML 文档的背景颜色如何被退换。

<html>

<head>
<script type="text/javascript">
function ChangeColor()
{
document.body.bgColor="yellow"
}
</script>
</head>

<body onclick="ChangeColor()">
Click on this document!
</body>

</html>

Browser 对象参考手册
点击以下链接,可以获得以下对象的更多信息,包括它们的集合、属性、方法以及事件。其中包含大量实例!



对象

描述

Window

JavaScript 层级中的顶层对象,表示浏览器窗口。

Navigator

包含客商端浏览器的新闻。

Screen

包含客商端荧屏的新闻。

History

含有了浏览器窗口访谈过的 USportageL。

Location

包涵了当下 U福睿斯L 的新闻。

getElementsByTagName() 语法

HTML DOM 对象参考手册

请点击上边的链接,学习越多关于对象及其集结、属性、方法和事件的文化。里面包罗大量实例!

对象 描述
Document 代表整个 HTML 文档,可被用来访问页面中的所有元素
Anchor 代表 <a> 元素
Area 代表图像映射中的 <area> 元素
Base 代表 <base> 元素
Body 代表 <body> 元素
Button 代表 <button> 元素
Event 代表某个事件的状态
Form 代表 <form> 元素
Frame 代表 <frame> 元素
Frameset 代表 <frameset> 元素
Iframe 代表 <iframe> 元素
Image 代表 <img> 元素
Input button 代表 HTML 表单中的一个按钮
Input checkbox 代表 HTML 表单中的复选框
Input file 代表 HTML 表单中的文件上传
Input hidden 代表 HTML 表单中的隐藏域
Input password 代表 HTML 表单中的密码域
Input radio 代表 HTML 表单中的单选按钮
Input reset 代表 HTML 表单中的重置按钮
Input submit 代表 HTML 表单中的确认按钮
Input text 代表 HTML 表单中的文本输入域(文本框)
Link 代表 <link> 元素
Meta 代表 <meta> 元素
Object 代表 <Object> 元素
Option 代表 <option> 元素
Select 代表 HTML 表单中的选择列表
Style 代表单独的样式声明
Table 代表 <table> 元素
TableData 代表 <td> 元素
TableRow 代表 <tr> 元素
Textarea 代表 <textarea> 元素
document.getElementsByTagName;

document.getElementById.getElementsByTagName;

实例 1

上面这几个事例会重回文书档案中保有

要素的一个节点列表:

document.getElementsByTagName;

实例 2

下边那么些例子会回来全部

上一篇:bob体育官方平台JavaScript 中函数的参数 下一篇:没有了
返回顶部