javascript DOM对象

javascript DOM对象
1、除了内置的 JavaScript 对象以外,你还可以使用 JavaScript 访问并处理所有的 HTML DOM 对象。
通过 DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性。可以对其中的内容进行修改和

删除,同时也可以创建新的元素。
2、HTML 文档对象模型(HTML Document Object Model)定义了访问和处理 HTML 文档的标准方法。
3、什么是 DOM?
通过 JavaScript,您可以重构整个 HTML 文档。您可以添加、移除、改变或重排页面上的项目。
要改变页面的某个东西,JavaScript 就需要获得对 HTML 文档中所有元素进行访问的入口。这个入口,

连同对 HTML 元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM。
4、DOM 可被 JavaScript 用来读取、改变 HTML、XHTML 以及 XML 文档
5、节点
DOM 是这样规定的:
整个文档是一个文档节点
每个 HTML 标签是一个元素节点
包含在 HTML 元素中的文本是文本节点
每一个 HTML 属性是一个属性节点
注释属于注释节点
6、<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> 节点作为先辈节点。
7、通过 DOM,您可访问 HTML 文档中的每个节点。
8、getElementById() 和 getElementsByTagName() 这两种方法,可查找整个 HTML 文档中的任何 HTML 元素。

getElementById(id) :可通过指定的 ID 来返回元素document.getElementById("ID");

注释:getElementById() 无法工作在 XML 中。在 XML 文档中,您必须通过拥有类型 id 的属性来进行搜索,而此类型必须在 XML DTD 中进行声明。

getElementsByTagName:document.getElementsByTagName("标签名称");
createElement:创建节点
createTextNode:创建文本节点
appendChild:添加节点
removeChild:删除节点
nodeName:(节点名称)
nodeValue:(节点值)
nodeType:(节点类型)


例:
<script language="javascript" type="text/javascript">
function showdiv(){
 //Dom js的Dom操作,类似于php DOM操作XML
 //创建一个元素,参数是元素名
 var new_div=document.createElement('div');//创建div节点
 
 //给div设置大小和颜色,通过他的style属性来获得。但是设置具体的某个属性还是要根据具

体的属性名来设置
 new_div.style.width='100px';
 new_div.style.height='100px';
 //如果某个属性是由多个单词组成的话,采用驼峰发(最后一个单词大写)
 new_div.style.backgroundColor='red';
 new_div.id='div1';//给div设置个id属性,值div1
 
 //确定位置
 document.body.appendChild(new_div);//div创建到body中
var text=document.createTextNode('bvv');//createTextNode创建文本节点,往图层中写内容
 new_div.appendChild(text);//把文本添加到图层中
 alert(document.getElementById('div1').nodeName);//nodeName获得节点名
 
 
 
 }

</script>

<input type="button" οnclick="showdiv()" value="click">
</body>


2、javascript获取事件的不同方法,一个事件可以调用2个函数

例:
<body>
<input type="button" οnclick="func1()" value="click">
<input type="button" id="click2" value="click2">
<input type="button" id="click3" value="click3">

<script type="text/javascript">
 function func1(){
  alert('hello');
 }
 
 //html 和 javascript相分离的时候,给这个元素绑定一个事件
document.getElementById('click2').οnclick=function(){//匿名函数onclick事件
  alert('hehe');
}

//addEventListener()1,绑定的事件名(事件名是去掉on的)  2,执行的函数名
document.getElementById('click3').addEventListener('click',func3,false);//click是onclick事

件,第三个按钮执行2个动作
document.getElementById('click3').addEventListener('click',func4,false);
function func3(){
 alert('hello');
}
function func4(){
 alert('welcome');
}

</script>


</body>
</html>

 

点解click3就会出来两次提示一个hello,一个welcome

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值