首先介绍DHTML:Dynamic HTML,是动态的HTML,算不上一种新语言,新技术或者标准规范,实现“实时变换页面元素效果的网页设计概念”。可以说是把现有的网页代码规整。即:DHTML=HTML+CSS+JavaScript 。
接下来是主角DOM:DOcument Object Model,文档对象模型,用来操作文档的。W3C DOM标准被分为3个不同的部分:核心DOM,XML DOM,和HTML DOM。
文档中的所有节点组成了一颗文档树(或者说节点树)-document对象就是一颗文档树的根。
操作节点无非是“增删改查”。
----------------------------------------------------------------------------------------------------------------------------------
使用迭代器对象遍历节点树:必须要主要的是先要执行一次nextNode(),才是第一个节点。然后while()循环直到遍历到null。
while(currNode=iterator.nextNode()){//currNode为当前节点对象,可以进行操作
}
TreeWalker对象跟迭代器对象相似,多了一些操作方法:
----------------------------------------------------------------------------------------------------------------------------------
接下来是通过HTML选取元素的方法及分析:
1.通过ID选取元素:
<ul id="menuList"> <li id="m1">首页</li> <li id="m2">介绍</li></ul>
可以使用一下方法获取元素:
var ul=document,getElementById('menuList')
但是如果有若干个相同的id,那么这个方法只能获取第一个id的元素
2.通过标签名选取元素:
<ul id="menuList"> <li id="m1">首页</li> <li id="m2">介绍</li></ul>
可以使用以下方法:
var list=ul.getElementsByTagName('li')
但是注意这种方法与第一种的区别:通过第二种方法的返回值是list,是一个集合,第一种只会返回第一个获取的id的值。
3.通过name属性选取元素:
<form id="registerForm"> <input type="checkbox" name="haha"/> <input type="checkbox" name="haha"/></form>
可以通过一下方法:
var list=document.getElementsByName('haha');console.log(list.length);//控制台输出;
3.通过CSS选取元素:
<div id="news"> <p class="mainTitle">标题1</p> <p class="subTitle">标题2</p></div>
可以用以下方法:
var div=document .getElementById('news');var list=diva .getElementsByClassName('mainTitle');
4.通过CSS选择器选取元素:
<div id="news"> <p class="mainTitle">标题1</p> <p class="subTitle">标题2</p></div>
可以通过以下方法:
var p1=div.querySelector('.mainTitle,.subTitle');//返回第一个匹配的,也就是mainTitle;var p2=div.querySelectorAll('.mainTltle,.subTitle');//返回一个集合,全部匹配的;
5.另外还有一些其他的选取方法:
(1).document.all 是一个集合,具体用法如下:
-document.all[index] -document.all['id'] -document.all.id -document.all['name'] -document.all.tags['tagName']
(2).对整个HTML文档的根元素(即<html>元素)的引用
document.documentElement===document.lastChild
(3).HTML文档中<head>元素的引用
document.head===document.lastChild.firstChild
(4).HTML文档中<body>元素的引用
document.body===document.lastChild.lastChild
----------------------------------------------我是结尾--------------------------------------------
好了,以上就是第一节课的笔记,第一次写技术博客,思路有点不清晰,大家多担待。
我的QQ:1940483703 我们一起学习,不知道这里能不能放其他联系方式,如果不可以,我及时删除。