2015.7.12js-11(DOM基础)
1.childNodes,获取子节点,本身就是一个数组,可以通过下标childNodes[i]来获取某个子节点。
alert(obj.childNodes.length); //高级浏览器会有空白节点的存在
//循环根据节点的nodeType类型来判断是不是元素节点
for(var i = 0, len = aElement.childNodes.length; i < len; i++){
if(aElement.childNodes[i].nodeType == 1){
aElement.childNode[i].style.background = "red";
}
}
2.首尾子节点
firstChild,firstElementChild;
lastChild,lastElementChild;
3.兄弟节点
previousSibling,previousElementSibling;
nextSibling,nextElementSibling;
//用if来判断firstChild与firstElementChild来兼容 if(obj.firstElementChild){
obj.firstElementChild.style.background = "red";
}else{
obj.firstChild.style.background = "red";
}
其他节点同理
//删除空白节点,来兼容firstChild function cleanWhiteSpace(element){
for(var i = 0; i < element.chiledNodes.length; i++){
var node = element.childNodes[i]; //循环当前的子节点
if(node.nodeType == 3 && !/\S/.test(node.nodeValue)){
node.parentNode.removeChild(); //\S匹配任何可见字符,当节点是文本节点与是!/\S/,非可见字符的时候,就删除这些节点
}
}
}
4.父元素parentNode
//点击当前a标签,查找a标签的父级,然后隐藏 var arrA = document.getElementsByTagName("a");
for(var i = 0, len = arrA.length; i < len; i++){
arrA[i].onclick = function(){
this.parentNode.style.display = "none"
}
}
5.用className选择元素
//选取class为box的li,将其变色 var aLi = document.getElementsByTagName("li");
for(var i = 0, len = aLi.length; i < len; i++){
if(aLi[i].className == "box"){
this.style.background = "red";
}
}
//封装 function getByClass(objParent,targetClass){
var aResult = [];
var aElement =objParent.getElementsByTagName("*");
for(var i = 0, len = aElement.length; i < len; i++){
if(aElement[i].className == targetClass){
aResult.push(aElement[i]);
}
}
return aResult; //返回class为box的数组
} //调用 var aBox = getByClass(aNav,"box"); //得到class为box的数组 for(var i = 0, len = aBox.length; i < len; i++){
aBox[i].style.background = "red";
}
2015.7.12js-11(DOM基础)的更多相关文章
- 11 DOM基础
1.css 标签 js 元素 dom 节点,元素节点,属性节点,文本节点 2.dom浏览器支持率 ie 10% chrome 60% FF 99% 3. ...
- JavaScript DOM基础总结
上个月在进行百度三面时候,面试官提问JavaScript DOM方法,我回答的有点少,前面太关注JavaScript 兼容性,框架方面,JavaScript 原生DOM基础没有记牢,心中有点遗憾.下来 ...
- HTML DOM基础知识
HTML DOM基础知识 一.什么是DOM? 1.HTML DOM 定义了访问和操作HTML文档的标准方法. 2.HTML DOM 把 HTML 文档呈现为带有元素.属性和文本的树结构(节点树). 3 ...
- Javascript DOM基础(一)概念
Dom基础概念: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" ...
- jQuery DOM基础
jQuery DOM基础 1.对元素内容的获取和修改: 表单用value(),普通元素用html()和text(). html() html(value)设置和获取html内容,有html标签会自动 ...
- js入门——Dom基础
DOM=DocumentObject Model,文档对象模型. Dom有三个不同的部分. 1.核心DOM 也是最基础的文档结构的标准模型 2.XMLDOM 针对XML文档的标准模型 3.HTML D ...
- 第一百一十三节,JavaScript文档对象,DOM基础
JavaScript文档对象,DOM基础 学习要点: 1.DOM介绍 2.查找元素 3.DOM节点 4.节点操作 DOM(Document Object Model)即文档对象模型,针对HTML和XM ...
- DOM基础(四)
每次写DOM的时候,就觉得好像没什么好写,因为涉及到知识点的方面的确不多,对于DOM来说,更多的还是练习为主.在练习的时候,最好能结合着js基础语法的知识点来学习.这样,在学习DOM的时候就不会那么枯 ...
- DOM基础(二)
在我之前写的DOM基础(一)的文章中提到过兼容性的问题,也就是在获取标签间文本信息的时候,早期的火狐版本是不支持innerText的,只支持textContent ,现在的火狐浏览器两者都支持.而IE ...
- BOM基础 计时器 定时器 DOM 基础
-------------------------------------------滴水穿石,我心永恒. day48 CSSJS 1 ECMA script 2 BOM browser object ...
随机推荐
- ColorSense颜色检测器
下载地址:https://github.com/omz/ColorSense-for-Xcode 修改OMColorSense.xcodeproj工程里的OMColorHelper.m文件的内容,实现 ...
- 3. beeGo 自己写Controller 和 请求数据处理
Controller Controller等同于Django里的view,处理逻辑都是在Controller里面完成的,下面就写一个最简单的Controller. 我们在写自己的controller的 ...
- Ckeditor的JS的加载和取值和赋值方法
Ckeditor 就是原来的Fckeditor. JS加载: $(function() { CKEDITOR.replace('FContent'); //FContent:这个对应文本域 }); J ...
- mysql中floor函数的作用是什么?
需求描述: 最近写mysql程序的时候,使用了floor函数,在此记录下该函数的作用 操作过程: 1.使用floor函数的测试 mysql> select floor(1.23),floor(- ...
- Sql server连接数据库报错相关
情况一:此版本的 SQL Server 不支持用户实例登录标志. 解决方法: 方法1:在连接属性的设置里边,点高级,将User Instance 设置为false,默认的true(我在中没有找到相应的 ...
- iOS 开发,工程中混合使用 ARC 和非ARC(转)
[前提知识] ARC:Automatic Reference Counting,自动引用计数 在开发 iOS 3 以及之前的版本的项目时我们要自己负责使用引用计数来管理内存,比如要手动 retain. ...
- 升级MAC OX上的Python到3.4
第1步:下载Python3.4 下载地址如下: 下载Mac OS X 64-bit/32-bit installerhttps://www.python.org/downloads/release/p ...
- Discuz!X 3.4 任意文件删除漏洞复现过程(附python脚本)
今天看下群里在讨论Discuz!X 3.4 任意文件删除漏洞,自己做了一些测试,记录一下过程.结尾附上自己编写的python脚本,自动化实现任意文件删除. 具体漏洞,请查看 https://paper ...
- 在SELECT DISTINCT 状况下使用 Order BY Newid() 随机数选出记录
在日常作业中,有时候可能是一些活动要抽出得奖人或选出抽查的一些名单, 就常常会使用到 Order BY Newid() 的方式来做随机数选出, 但有可能的状况需是要搭配到 DISTINCT 来选出,这 ...
- 第三篇:配置Hadoop的Eclipse开发环境
前言 在先前的文章中,已经介绍了如何在Ubuntu Kylin操作系统下搭建Hadoop运行环境,而现在将在之前工作的基础上搭建Eclipse开发环境. 配置 开发环境:Eclipse 4.2,其他同 ...