<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>DOM常用属性和方法</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY id="bb">
<table id="tab" border=1>
<thead id="Thead">
<tr>
<th onClick="sortTable('tab',0,'int')" style="cursor:pointer">ID</th>
<th onClick="sortTable('tab',1)" style="cursor:pointer">姓名</th>
<th onClick="sortTable('tab',2,'int')" style="cursor:pointer">年龄</th>
<th onClick="sortTable('tab',3,'date')" style="cursor:pointer">出生日期</th>
</tr>
</thead>
<tbody id="Tbody">
<tr id="tr1">
<td width=100 id="ID">1</td>
<td id="name" width="100">张三</td>
<td id="age" width="100">25</td>
<td id="date" width="100">1970-9-9</td>
</tr>
<tr id="tr2">
<td width=100 id="ID">3</td>
<td id="name" width="100">李四</td>
<td id="age" width="100">18</td>
<td id="date" width="100">1980-9-9</td>
</tr>
<tr id="tr3">
<td width=100 id="ID">2</td>
<td id="name" width="100">王五</td>
<td id="age" width="100">19</td>
<td id="date" width="100">1990-9-9</td>
</tr>
<tr id="tr4">
<td width=100 id="ID">6</td>
<td id="name" width="100">续写</td>
<td id="age" width="100">22</td>
<td id="date" width="100">1965-9-9</td>
</tr>
<tr id="trr" name="rr">
<td width=100 id="ID1">5</td>
<td id="name" width="100">经典</td>
<td id="age" width="100">30</td>
<td id="date" width="100">1950-9-9</td>
</tr>
</tbody>
</table>
<div id="textDiv">测试</div>
<div id="txt"></div>
<div id="removeDiv">removeDiv</div>
<div id="txtDiv">aaa</div>
<form name="form1"></form>
<form name="form2"></form>
<a href="#" name="a1">超链接一</a>
<a href="#" name="a2">超链接二</a>
</BODY>
<script type="text/javascript" >
//返回指定id的元素节点
function $(id){
return id ? document.getElementById(id) : id ;
}
/* */
var oHtml = document.documentElement; //得到<html>元素
alert("节点名称:"+oHtml.nodeName);
alert("节点类型:"+oHtml.nodeType);
//获取<head> 元素的几种方法,效果一样
var oHead = document.head;
oHead = oHtml.firstChild;
oHead = oHtml.childNodes.item(0);
oHead = oHtml.childNodes[0];
oHead = oHtml.children.item(0);
oHead = oHtml.children[0];
//获取 <body>元素的几种方法,效果一样
var oBody = document.body;
oBody = oHtml.lastChild;
oBody = oHtml.childNodes.item(1);
oBody = oHtml.childNodes[1];
oBody = oHtml.children.item(1);
oBody = oHtml.children[1];
alert(oHead.parentNode == oHtml); //head节点的父节点是html节点,返回 true
alert(oBody.parentNode == oHtml); //body节点的父节点是html节点,返回 true
alert(oBody.previousSibling == oHead); //body节点的上一个兄弟节点是head节点 ,返回 true
alert(oHead.nextSibling == oBody);//head节点的下一个兄弟节点是body节点,返回 true
alert(oHead.ownerDocument == document); //判断head节点的根元素是否指向Document,返回 true
alert(oBody.ownerDocument == document); //判断body节点的根元素是否指向Document,返回 true
var tdArray = document.getElementsByTagName("td"); //得到一个td标签的集合
for(var i=0;i<tdArray.length;i++){ //遍历集合,输出所有标签的内容
alert(tdArray[i].innerHTML);
}
var node = $("textDiv");
alert(node.innerHTML);
//创建一个div元素节点
var div = document.createElement("div");
alert(div.nodeType);
//创建一个文本节点
var text = document.createTextNode("创建的文本节点");
alert(text.nodeType);
var txtNode = $("txt");
txtNode.appendChild(text); //将创建的文本节点添加到指定的元素内
alert(txtNode.innerHTML); //输出文本节点的内容
//为元素设置属性值
//div.id = "myID";
div.setAttribute("id","myID"); //效果同上,为创建的div设置id属性
alert("div的属性id的值是:"+div.getAttribute("id")); //获取div的属性id的值,如果属性不存在,返回null
//设置div中的内容
div.innerHTML = "<p>续写经典</p>";
//将创建的div加入到body中
var body = document.getElementsByTagName("body")[0];
body.appendChild(div);
//通过id查找元素
div = $("myID");
alert(div.innerHTML); //访问id为“myID”的元素的内容
//获得表格的集合
var arr = new Array();
arr = document.getElementById("tab").rows; //获得id为“tab”的表格的集合
alert("表格的行数为:"+arr.length);
//删除表格中指定的一行数据
document.getElementById("tab").deleteRow(arr.length-1);
var han = {
//获取子节点的集合(ie,ff通用)
getChildNodes:function(node){
var arr = [];
var nodes = node.childNodes;
for(var i in nodes){
if(nodes[i].nodeType == 1){ //查找元素节点
arr.push(nodes[i]);
}
}
return arr;
},
//获取第一个元素子节点(ie,ff通用)
getFirstElementChild : function(node){
return node.firstElementChild ? node.firstElementChild : node.firstChild ;
},
//获取最后一个元素子节点(ie,ff通用)
getLastElementChild : function(node){
return node.lastElementChild ? node.lastElementChild : node.lastChild ;
},
//获取上一个相邻节点(ie,ff通用)
getPreviousSibling : function(node){
//找到上一个节点就返回节点,没找到就返回null
do{
node = node.previousSibling;
}while(node && node.nodeType!=1)
return node;
},
//获取下一个相邻节点 (ie,ff通用)
getNextSibling : function(node){
//找到下一个节点就返回节点,没找到就返回null
do{
node = node.nextSibling;
}while(node && node.nodeType!=1)
return node;
},
//将元素插入到指定的node节点后面
insertAfter : function(newNode,targetNode){
if(newNode && targetNode){
var parent = targetNode.parentNode;
var nextNode = this.getNextSibling(targetNode);
if(nextNode && parent){
parent.insertBefore(newNode,nextNode);
}else{
parent.appendChild(newNode);
}
}
}
};
//创建一个div元素节点
var newDiv = document.createElement("div");
newDiv.innerHTML = "一二三四";
var div1 = $("textDiv");
//将元素插入到指定节点后面
han.insertAfter(newDiv,div1);
//创建一个div元素节点
var newDiv2 = document.createElement("div");
newDiv2.innerHTML = "五六七八";
var div2 = $("textDiv");
//将元素插入到指定节点前面
div2.parentNode.insertBefore(newDiv2,div2);
//获取子节点的个数(ie,ff通用)
var a2 = han.getChildNodes(Tbody);
alert("body子节点长度:"+a2.length);
//获取首个子节点的内容 (ie,ff通用)
var firstNode = han.getFirstElementChild(tab).innerHTML;
alert("tab的首个子节点内容是:"+firstNode);
//获取最后一个子节点的内容 (ie,ff通用)
var lastNode = han.getLastElementChild(tab).innerHTML;
alert("tab的最后一个子节点内容是:"+lastNode);
alert("tab的父节点名字是:"+tab.parentNode.nodeName); //获取父节点名字
alert("tab的父节点类型是:"+tab.parentNode.nodeType); //获取父节点类型
alert("tab的父节点值是:"+tab.parentNode.nodeValue); //获取父节点值
var node = document.getElementById("Tbody");
var myNextSibling;
if(han.getNextSibling(node)){
myNextSibling = han.getNextSibling(node);
alert("Tbody的下一个相邻的节点名字是:"+myNextSibling.nodeName);
}else{
alert("已经是最后一个节点");
}
var node1 = document.getElementById("Thead");
var myPreviousSibling;
if(han.getPreviousSibling(node1)){
myPreviousSibling = han.getPreviousSibling(node1);
alert("Thead的上一个相邻的节点名字是:"+myPreviousSibling.nodeName);
}else{
alert("已经是第一个节点");
}
//克隆函数,参数为true时:克隆并包括所有子对象;参数为false时:克隆但不包括所有子对象
var cloneNode = textDiv.cloneNode(true);
txtDiv.appendChild(cloneNode);
//检测是否包含有网页元素( HTML Elements )或 TextNodes 对象。返回boolean类型的值
alert(tr3.hasChildNodes());
//删除一个子节点,所有子对象将被一起删除
var remove = bb.removeChild(removeDiv);
//替换一个子对象,被替换时,所有与之相关的属性内容都将被移除
var newDIV = document.createElement("div");
newDIV.innerHTML = "一生经典";
//var replace = bb.replaceChild(newDIV,$("textDiv")); //方法一
var replace = $("textDiv").replaceNode(newDIV); //方法二,两种效果一样
//forms:当前文档中的所有表单集合
alert("<form>表单的个数:"+document.forms.length); //获取集合的长度
for(var i=0;i<document.forms.length;i++){ //遍历集合,输出每一个元素
alert(document.forms[i].name);
}
//links:当前文档中所有超链接元素的集合
alert("<a>元素的个数:"+document.links.length); //获取集合的长度
for(var i=0;i<document.links.length;i++){ //遍历集合,输出每一个元素
alert(document.links[i]);
}
</script>
</HTML>
分享到:
相关推荐
主要介绍了JavaScript学习笔记之DOM操作,结合实例形式分析了javascript针对dom元素的获取、设置相关操作常用函数使用技巧,需要的朋友可以参考下
js 常用函数,html标签对象操作。dom对象结构理解
javascript 1 基本语法 1 动态函数 2 封装一个数组类 2 函数使用时注意事项 2 with语句 4 for,in 4 DOM 5 window 6 table 9 input 16 select 17 form 19 Ajax 22 接收文本数据 22 接收xml数据 23 ...
自己学习笔记。视频:腾讯课堂:渡一教育 内容大纲: 预编译: 函数 闭包问题 对象 原型、原型链、call、apply 继承模式 对象克隆 数组 类数组 数组去重 自定义type方法(类似于typeof) try-catch es5.0严格模式 ...
Dom基础—创建表格 利用js来动态创建表格有两种格式,appendChild()和insertRow、insertCell()。但第一种有可能在IE上有问题,所以推荐使用第二种。 1、insertRow(index):index从0开始 这个函数将新行添加到index的...
eval的作用其实很简单,就是把一段字符串传递给JS解释器,由...我想大家最基本的使用eval函数都是应该在DOM中,例如我们有div1,div2,div3,那么在document.getElementByID时我们的ID没有办法去得到,那么最简单的办法就
* 获取元素,或者在DOM加载完成时执行某函数 * @param arg 此参数为字符串时,认为是 c$.getElement 的缩写,用来获取元素。用法参考 c$.getElement * 如果 arg 是 function 则认为是 c$.ready 的缩写,在dom加载完成...
所有 JavaScript 全局对象、函数以及变量均自动成为window对象的成员。 窗口对象的属性和方法格式: [window.]属性 [window.]方法(参数) 甚至 HTML DOM 的 document 也是 window 对象的属性之一: window....
html部分代码: 当点击show按钮时,触发showValue函数,将input value的值动态添加到id=”text”的元素节点中! 代码如下: <p> <...</span> </p> ”text”></p> javascript 部分代码: 页面加载时,使inpu
给大家分享了一篇关于JavaScript函数、闭包、原型、面向对象的知识点学习笔记内容,有兴趣的朋友参考下。
全局作用域下 this; 当在全局作用域中使用 this,它指向全局对象。 这里详细介绍下全局对象: ...例如,在 DOM 中,全局对象的 window 属性就可以引用全局对象自身。 所以在 console 内输入 window 和 this.w
本文档为本人学习js时候做的笔记,只需要仅仅两个币就可以了,其中内容包括简单的数据类型,创建对象,数组,包装类BOM和DOM,其中重点的DOM包括基本的事件对象操作,轮盘绑定定时器,还有附加的一点点js高级部分...
javascript对象部分 一:基础部分 1.JavaScript 中所有变量都是对象,除了两个例外 null 和 undefined。 2.Jscript 支持四种类型的对象:内部对象、生成的对象、宿主给出的对象(所有BOM和...对象拥有属性和方法。 Ja
Javascript入门学习第一篇 js基础Javascript入门学习第二篇 js类型...js dom实例操作Javascript入门学习第八篇 js dom节点属性说明Javascript入门学习第九篇 Javascript DOM 总结jQuery基础教程笔记适合js新手
6. 删除文档的方法 7 7. $$return 域的使用 8 8. 将表单设计为视图或导航器模板 9 9. 为 Web 定制“表单已处理”确认信息 10 10. 定制出错信息 11 11. $$HtmlHead几种常用的技巧 11 12. Domino Designer 模板表 12 ...
6. 删除文档的方法 7 7. $$return 域的使用 8 8. 将表单设计为视图或导航器模板 9 9. 为 Web 定制“表单已处理”确认信息 10 10. 定制出错信息 11 11. $$HtmlHead几种常用的技巧 11 12. Domino ...
①在DOM2级在document.implementation中引入了createDocument()方法(IE6~8不支持)。 可以创建一个空白XML。 var xmldom = document.implemention.createDocument(namespaceUri,root,docype); ②要创建一个新的文档...
6. 删除文档的方法 7 7. $$return 域的使用 8 8. 将表单设计为视图或导航器模板 9 9. 为 Web 定制“表单已处理”确认信息 10 10. 定制出错信息 11 11. $$HtmlHead几种常用的技巧 11 12. Domino Designer 模板表 12 ...
{8.1}线程的常用属性与方法}{121}{section.8.1} {8.2}后台线程}{123}{section.8.2} {8.3}创建线程的两种方法}{123}{section.8.3} {8.4}Runnable}{123}{section.8.4} {8.5}Sleep阻塞与打断唤醒}{124}{section....
在前端开发的学习和实践过程中,以下是一些重要的笔记内容: HTML(超文本标记语言): HTML是构建Web页面的基础,它描述了页面的结构和内容。笔记应包括常见的HTML标签、元素嵌套规则以及语义化的重要性。 CSS...