javascript之DOM篇一
一.什么是DOM
DOM是用来操作页面,如div的获取,修改样式
二.DOM节点
标签(css)=元素(js)=节点(DOM)
1.子节点 childNodes 仅算父元素下的第一层
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<ul id="ul1">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<script type="text/javascript">
window.onload=function() {
var oUl=document.getElementById('ul1');
alert(oUl.childNodes.length);
for (var i = 0; i < oUl.childNodes.length; i++) {
alert(oUl.childNodes[i].nodeType);
if(oUl.childNodes[i].nodeType==1)
{
oUl.childNodes[i].style.background='red';
}
}
}//算节点个数,判断节点类型,改变节点背景颜色
</script>
</body>
</html>
引出问题:
节点类型 节点分为文本节点(即为空节点) 与元素节点(<></>)
nodeType nodeType=3-->文本节点 nodeType=1-->元素节点
在ie6~8中忽略文本节点,而ie9、谷歌等不会忽略文本节点
解决兼容性问题可用if--else
也可直接用children 代码如下
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<ul id="ul1">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<script type="text/javascript">
window.onload=function() {
var oUl=document.getElementById('ul1');
alert(oUl.children.length);
}
</script>
</body>
</html>//算节点个数
2.父节点 parentNode
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<ul id="ul1">
<li>fgergerg<a href="#">隐藏</a></li>
<li>weete<a href="#">隐藏</a></li>
<li>rrtret<a href="#">隐藏</a></li>
<li>sergh<a href="#">隐藏</a></li>
<li>ehkuyr<a href="#">隐藏</a></li>
</ul>
<script type="text/javascript">
window.onload=function() {
var aA=document.getElementsByTagName('a');
for (var i = 0; i < aA.length; i++) {
aA[i].onclick=function()
{
this.parentNode.style.display='none';
}
}
}
</script>
</body>
</html>//隐藏<li>
引出:offsetParent--->用来判断某个元素定位的父级
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
#div1{
background-color: blue;width: 200px;height: 200px;margin:100px;/*position: relative;*/
}
#div2{
background-color: red;width: 100px;height: 100px;position: absolute;left: 50px;top: 50px;
}
</style>
</head>
<body>
<div id="div1">
<div id="div2"></div>
</div>
<script type="text/javascript">
window.onload=function() {
var oDiv2=document.getElementById('div2');
alert(oDiv2.offsetParent);
}
</script>
</body>
</html>//判断div2所用来定位的父元素
3.首尾节点,兄弟节点
有兼容性
firstChild lastChild首尾
nextSibling previousSibling兄弟节点
解决方法
firstElementChild lastElementChild首尾
nextElementSibling previousElementSibling兄弟节点
4.DOM获取元素
获取getAttribute(名称)
设置setAttribute(‘属性名’,值)
删除removeAttribute(名称)
5.用className选择元素
特征:可批量,有选择性,页面发生变化不会出错
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<ul id="ul1">
<li class="box"></li>
<li class="box"></li>
<li></li>
<li></li>
<li class="box"></li>
</ul>
<script type="text/javascript">
function getByClass(oParent,sClass)
{
var aResult=[];
var aEle=oParent.getElementsByTagName('*');
for (var i = 0; i < aEle.length; i++) {
if(aEle[i].className==sClass)
{
aResult.push(aEle[i]);
}
}
return aResult;
}
window.onload=function () {
var oUl=document.getElementById('ul1');
var aBox=getByClass(oUl,'box');
for (var i = 0; i < aBox.length; i++) {
aBox[i].style.background='red';
}
}
</script>
</body>
</html>
javascript之DOM篇一的更多相关文章
- javascript之DOM篇二(操作)
一.创建DOM元素 createElement:document.createElement(' 所要创建的元素标签名'): <!DOCTYPE html><html>< ...
- javascript 之DOM篇
要怎么样的开场白才能使我有力气再更新学习进度呢?啊啊啊啊啊,表示好累啊~~~默念“棒棒棒,我最棒~”召唤精气神开总结敲字咯.哈哈哈. --------------------------------- ...
- 前端开发之JavaScript HTML DOM理论篇一
主要内容: 1.DOM简介 2.DOM 节点 3.DOM 方法和属性 4.DOM 访问和修改 一.DOM简介 1.什么是 DOM? DOM 是 W3C(万维网联盟)的标准. DOM 定义了访问 HTM ...
- Javascript中DOM技术的的简单学习
第十四课DOM技术概述1:DOM概述 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节 ...
- 第十五章:Python の Web开发基础 (二) JavaScript与DOM
本課主題 JavaScript 介绍 DOM 介绍 JavaScript 介绍 JavaScript 是一门编程语言,它可以让网页动起来的,JavaScript 的变量有两种,一个是局部变量:一个是全 ...
- JavaScript之DOM创建节点
上几篇文章中我们罗列了一些获取HTML页面DOM对象的方法,当我们获取到了这些对象之后,下一步将对这些对象进行更改,在适当的时候进行对象各属性的修改就形成了我们平时看到的动态效果.具体js中可以修改D ...
- JavaScript之DOM对象的获取
之前我们讲过JavaScript之DOM对象获取的两篇文章,本文是该系列文章之三,点击回顾上两篇文章能更好地理解本文.<JavaScript之DOM对象的获取(一)>: <JavaS ...
- JavaScript与DOM(上)
本来像自己写一篇的...结果看到了Tom uncle的这篇..总结的确实很赞,其他文章也非常好推荐 转载自:http://www.cnblogs.com/TomXu/archive/2011/12/1 ...
- JavaScript性能优化篇js优化
JavaScript性能优化篇js优化 随着Ajax越来越普遍,Ajax引用的规模越来越大,Javascript代码的性能越来越显得重要,我想这就是一个很典型的例子,上面那段代码因为会被频繁使用, ...
随机推荐
- hdu 5749 Colmerauer
题意:对于给定的$n \times m$矩阵$M$,定义$S(a,b)$为$M$的所有$a \times b$子矩阵的权重之和.一个矩阵的权重是指矩阵中所有马鞍点权值之和,在一个矩阵中某点是马鞍点当且 ...
- mac上安装opencv3
转载于:http://blog.csdn.net/sanwandoujiang/article/details/51159983 在macosx上安装opencv2 brew tap homebrew ...
- [问题2014A01] 解答一(第一列拆分法,由张钧瑞同学提供)
[问题2014A01] 解答一(第一列拆分法,由张钧瑞同学提供) (1) 当 \(a=0\) 时,这是高代书复习题一第 33 题,可用升阶法和 Vander Monde 行列式来求解,其结果为 \[ ...
- Bootstrap_响应式网格系统
首先添加CSS样式: [class *= col-]{ background-color: #eee; border: 1px solid #ccc; } [class *= col-] [class ...
- 深入浅出设计模式——组合模式(Composite Pattern)
模式动机 对于树形结构,当容器对象(如文件夹)的某一个方法被调用时,将遍历整个树形结构,寻找也包含这个方法的成员对象(可以是容器对象,也可以是叶子对象,如子文件夹和文件)并调用执行.(递归调用)由于容 ...
- day5 -指针
指针和指针变量 指针就是地址,地址就是指针 地址就是存放单元的编号 指针变量是存放地址的变量 指针和指针变量是两个不同的概念,但是要注意,通常我们叙述时会把指针变量简称为指针,实际他们含义并不一样 指 ...
- js中对radio和checkbox是否选中的判断
一.js判断checkbox 例如:<div class="checkbox" style="width: 150px;"> <label&g ...
- php总结 --- 2.字符串
字符串 恩聪 正则表达式 恩聪 中文验证 if (preg_match("/[\x{4e00}-\x{9fa5}]{2,4}\s{0,}\w{8,15}/u", $keyword) ...
- cxf笔记记录
一.Web Service框架介绍: 1. WebService框架的作用: -- WebService只是一种思想,不是一个具体的框架. -- 它也是javaEE的规范. -- 它可以跨平台(操作平 ...
- call(),apply(),bind()与回调
1.call(),apply(),bind()方法 JavaScript 中通过call或者apply用来代替另一个对象调用一个方法,将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定 ...