首页 web前端 js教程 Document 对象的常用方法_基础知识

Document 对象的常用方法_基础知识

May 16, 2016 pm 06:48 PM
document 对象

1、getElementById(id)
通过元素的ID访问元素,这是DOM一个基础的访问页面元素的方法,我们要经常用到它.
例如下面的例子,我们可以同DIV的ID迅速的访问到它,而不必通过DOM层层遍历,
复制代码 代码如下:


h


Just for testing;


Just for testing;

<script> <BR>var div=document.getElementById(‘divid'); <BR>alert(div.nodeName); <BR></script>


注意使用这个函数时如果元素的ID不是唯一的,那么会获得第一个符合条件的元素。
在IE6中如果input、checkbox,radio. 等元素name匹配指定的ID,也会被访问到
例如下面的例子中,获得的元素是input:
复制代码 代码如下:




Just for testing;

<script> <BR>var div=document.getElementById('divid'); <BR>alert(div.nodeName); <BR></script>


2、getElementsByName(name)
返回名字是name的元素数组,在IE6中元素ID匹配这个名字的话,这个元素也将包括在内,而且getElementsByName()仅用于象input,radio,checkbox等元素对象。
象下面例子中georges数组的长度应该是0。
复制代码 代码如下:


f

f




3、getElementsByTagName(tagname)
getElementByTagName可以用于DOCUMENT也可以用元素。getElementsByTagName返回具有指定tagname的子元素列表(数组)。你可以遍历这个数组获得每一个单独的子元素。当处理很大的DOM结构,使用这种方法可以很容易的所有缩小范围。
复制代码 代码如下:




<script> <BR>function start() { <BR>// 获得所有tagName是body的元素(当然每个页面只有一个) <BR>myDocumentElements=document.getElementsByTagName("body"); <BR>myBody=myDocumentElements.item(0); <BR>// 获得body子元素种的所有P元素 <BR>myBodyElements=myBody.getElementsByTagName("p"); <BR>// 获得第二个P元素 <BR>myP=myBodyElements.item(1); <BR>//显示这个元素的文本 <BR>alert(myP.firstChild.nodeValue); <BR>} <BR></script>


hi


hello





DOM Element 常用方法
1、appendChild(node)
向当前节点对象的追加节点。经常用于给页面动态的添加内容。
例如下面给div添加一个文本节点:
复制代码 代码如下:




上面的例子中给DIV添加文本,也可以用newdiv.innerHTML=”A new div”实现,
不过innerHTML不属于DOM
2、removeChild(childreference)
移除当前节点的子节点,返回被移除的节点。这个被移除的节点可以被插入document树中别的地方
复制代码 代码如下:

A child



3、cloneNode(deepBoolean)
复制并返回当前节点的复制节点,这个复制得到的节点是一个孤立的节点,不在document树中。复制原来节点的属性值,包括ID属性,所以在把这个新节点加到document之前,一定要修改ID属性,以便使它保持唯一。当然如果ID的唯一性不重要可以不做处理。
这个方法支持一个布尔参数,当deepBoolean设置true时,复制 当前节点的所有子节点,包括该节点内的文本。
复制代码 代码如下:

11111


p=document.getElementById("mypara")
pclone = p.cloneNode(true);
p.parentNode.appendChild(pclone);

4、replaceChild(newChild, oldChild)
把当前节点的一个子节点换成另一个节点
例如:
复制代码 代码如下:

span



5、insertBefore(newElement, targetElement)
给当前节点插入一个新节点,如果targetElement被设置为null,那新节点被当作最后一个子节点插入,否则那新节点应该被插入targetElement之前的最近位置。
复制代码 代码如下:


熊掌我所欲也!



6、click()
执行元素的一次点击,可以用于通过脚本来触发onClick函数
复制代码 代码如下:

<script> <BR>function wow() { <BR>alert("我好象没有点鼠标啊"); <BR>} <BR></script>
hhh



DOM Element的属性:(下面是常用的。IE5.0以上,mozllia都支持的)
1、childeNodes 返回所有子节点对象,
例如
复制代码 代码如下:





一个和尚有水喝。
两个和尚挑水喝。
三个和尚没水喝。

<script> <BR>var msg=”” <BR>var mylist=document.getElementById("mylist") <BR>for (i=0; i<mylist.childNodes.length; i++){ <BR>var tr=mylist.childNodes[i]; <BR>for(j=0;j<tr.childNodes[j].length; j++) { <BR>var td=tr.childNodes[j]; <BR>msg+=td.innerText; <BR>} <BR>} <BR>alert(msg); <BR></script>

2、innerHTML
这是一个事实上的标准,不属于w3c DOM,但是几乎所有支持DOM的浏览器,都支持这个属性。通过这个属性我们很容易修改一个元素的HTML。
复制代码 代码如下:

新人类,什么?!




3、style
返回一个元素的style对象的引用,通过它我们可以获得并修改每个单独的样式。
例如下面的脚本可以修改一个元素的背景色
document.getElementById("test").style.backgroundColor="yellow"
4、firstChild 返回第一个子节点
5、lastChild 返回最后一个子节点
6、parentNode 返回父节点的对象。
7、nextSibling 返回下一个兄弟节点的对象
8、previousSibling 返回前一个兄弟节点的对象
9、nodeName 返回节点的HTML标记名称,使用英文的大写字母,如P, FONT
例如
复制代码 代码如下:

ddd

<script> <BR>if (document.getElementById("test").nodeName=="DIV") <BR>alert("This is a DIV"); <BR></script>

第一个例子:
使用DOM1.0 的javascript动态地创建一个HTML table。
复制代码 代码如下:


Sample code
<script> <BR>function start() { <BR>//获得body的引用 <BR>var mybody=document.getElementsByTagName("body").item(0); <BR>//创建一个<table>元素 <BR>mytable = document.createElement("TABLE"); <BR>//创建一个<TBODY>元素 <BR>mytablebody = document.createElement("TBODY"); <BR>// 创建行列 <BR>for(j=0;j<3;j++) { <BR>//创建一个<TR>元素 <BR>mycurrent_row=document.createElement("TR"); <BR>for(i=0;i<3;i++) { <BR>//创建一个<TD>元素 <BR>mycurrent_cell=document.createElement("TD"); <BR>//创建一个文本元素 <BR>currenttext=document.createTextNode("cell is row "+j+", column "+i); <BR>//把新的文本元素添加到单元TD上 <BR>mycurrent_cell.appendChild(currenttext); <BR>// appends the cell TD into the row TR <BR>//把单元TD添加到行TR上 <BR>mycurrent_row.appendChild(mycurrent_cell); <BR>} <BR>//把行TR添加到TBODY上 <BR>mytablebody.appendChild(mycurrent_row); <BR>} <BR>// 把 TBODY 添加到 TABLE <BR>mytable.appendChild(mytablebody); <BR>// 把 TABLE 添加到 BODY <BR>mybody.appendChild(mytable); <BR>// 把mytable的border 属性设置为2 <BR>mytable.setAttribute("border","2"); <BR>} <BR></script>



本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

使用PHP的json_encode()函数将数组或对象转换为JSON字符串 使用PHP的json_encode()函数将数组或对象转换为JSON字符串 Nov 03, 2023 pm 03:30 PM

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,已经成为Web应用程序之间数据交换的常用格式。PHP的json_encode()函数可以将数组或对象转换为JSON字符串。本文将介绍如何使用PHP的json_encode()函数,包括语法、参数、返回值以及具体的示例。语法json_encode()函数的语法如下:st

使用Python的__contains__()函数定义对象的包含操作 使用Python的__contains__()函数定义对象的包含操作 Aug 22, 2023 pm 04:23 PM

使用Python的__contains__()函数定义对象的包含操作Python是一种简洁而强大的编程语言,提供了许多强大的功能来处理各种类型的数据。其中之一是通过定义__contains__()函数来实现对象的包含操作。本文将介绍如何使用__contains__()函数来定义对象的包含操作,并且给出一些示例代码。__contains__()函数是Pytho

如何将 MySQL 查询结果数组转换为对象? 如何将 MySQL 查询结果数组转换为对象? Apr 29, 2024 pm 01:09 PM

将MySQL查询结果数组转换为对象的方法如下:创建一个空对象数组。循环结果数组并为每一行创建一个新的对象。使用foreach循环将每一行的键值对赋给新对象的相应属性。将新对象添加到对象数组中。关闭数据库连接。

源码探秘:Python 中对象是如何被调用的? 源码探秘:Python 中对象是如何被调用的? May 11, 2023 am 11:46 AM

楔子我们知道对象被创建,主要有两种方式,一种是通过Python/CAPI,另一种是通过调用类型对象。对于内置类型的实例对象而言,这两种方式都是支持的,比如列表,我们即可以通过[]创建,也可以通过list(),前者是Python/CAPI,后者是调用类型对象。但对于自定义类的实例对象而言,我们只能通过调用类型对象的方式来创建。而一个对象如果可以被调用,那么这个对象就是callable,否则就不是callable。而决定一个对象是不是callable,就取决于其对应的类型对象中是否定义了某个方法。如

document.cookie获取不到怎么解决 document.cookie获取不到怎么解决 Nov 23, 2023 am 10:02 AM

document.cookie获取不到的解决办法:1、浏览器的隐私设置;2、Same-origin policy;3、HTTPOnly Cookie;4、JavaScript代码错误;5、Cookie不存在或过期;6、跨域问题;7、查看器模式;8、服务器问题;9、JavaScript执行时机;10、检查 console log等。

数组和对象在 PHP 中的区别是什么? 数组和对象在 PHP 中的区别是什么? Apr 29, 2024 pm 02:39 PM

PHP中,数组是有序序列,以索引访问元素;对象是具有属性和方法的实体,通过new关键字创建。数组访问通过索引,对象访问通过属性/方法。数组值传递,对象引用传递。

PHP 函数如何返回对象? PHP 函数如何返回对象? Apr 10, 2024 pm 03:18 PM

PHP函数可以通过使用return语句后跟对象实例来返回对象,从而将数据封装到自定义结构中。语法:functionget_object():object{}。这允许创建具有自定义属性和方法的对象,并以对象的形式处理数据。

使用Python的__le__()函数定义两个对象的小于等于比较 使用Python的__le__()函数定义两个对象的小于等于比较 Aug 21, 2023 pm 09:29 PM

标题:使用Python的__le__()函数定义两个对象的小于等于比较在Python中,我们可以通过使用特殊方法来定义对象之间的比较操作。其中之一就是__le__()函数,它用于定义小于等于比较。__le__()函数是Python中的一个魔法方法,并且是一种用于实现“小于等于”操作的特殊函数。当我们使用小于等于运算符(&lt;=)比较两个对象时,Python

See all articles