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";
}
时间: 2024-12-14 02:10:37

2015.7.12js-11(DOM基础)的相关文章

DOM基础

1.几个概念 文档: html 页面 文档对象: 页面中的元素 文档对象模型: 定义API,为了让 js 去操作页面中的元素 DOM 会把文档看成一棵树,同时会定义很多 "方法" 和 "属性" 来操作这棵树的每一个节点 元素.childNodes a.只读属性,子节点列表 b.dom节点有12种 1 // NodeType 2 const unsigned short ELEMENT_NODE = 1; 3 const unsigned short ATTRIBUT

第一百一十三节,JavaScript文档对象,DOM基础

JavaScript文档对象,DOM基础 学习要点: 1.DOM介绍 2.查找元素 3.DOM节点 4.节点操作 DOM(Document Object Model)即文档对象模型,针对HTML和XML文档的API(应用程序接口).DOM描绘了一个层次化的节点树,运行开发人员添加.移除和修改页面的某一部分.DOM脱胎于Netscape及微软公司创始的DHTML(动态HTML),但现在它已经成为表现和操作页面标记的真正跨平台.语言中立的方式. 一.DOM介绍 DOM中的三个字母,D(文档)可以理解

Javascript DOM 基础篇 01

DOM基础 DOM是什么 答:文件对象模型(Document Object Model,简称DOM),DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构!来自网络 本节了解了下面知识点: DOM节点 childNodes  nodeType 获取子节点 children parentNode 例子:点击链接,隐藏整个li offsetParent 例子:获取元素在页面上的实际位置 DOM节点(2) 首尾子节点 有兼容性问题 firstChild.firstElementChil

DOM基础实例

DOM基础实例 一.什么是DOM节点? 说白了标签元素和节点都一样只是在不同的地方叫法不同 在css里面   叫标签 在JS里面    叫元素 在DOM里面叫节点   浏览器支持情况:现在主流浏览器大概就是: IE                      10% Chrome               60% FF                     90%     (1)         DOM节点 (2)         ChildNodes(用来获取子节点,这个获取的是一个数组) 

【JS学习笔记】DOM基础-字节点,父节点

一.DOM基础 (1)什么是DOM?DOM,即document,是用来操作页面上的元素,比如操作div获取,修改样式等.是JS的组成部分,还是一套规范. (2)浏览器的支持情况 现在主流的浏览器有3种,分别是IE,Chrome,Firefox. IE:在IE6-8版本中,对DOM的支持差不多是百分之十几差不多了,但是到了IE9就有了质的飞跃. Chrome:介于两者之间,在60%左右,对DOM支持的不是那么的好也不是那么的差. Firefox:对于DOM的支持几乎可以用99%来形容. 二.DOM

Skype For Business 2015实战系列11:创建并发布拓扑

Skype For Business 2015实战系列11:创建并发布拓扑 Skype For Business Server安装前需要先定义好拓扑,因为我们要在拓扑中的每台服务器上安装 Skype for Business Server 系统,必须首先创建和发布一个拓扑.发布拓扑时,拓扑信息会载入中央管理存储数据库.如果这是 Enterprise Edition 池,您将在初次发布新拓扑时创建中央管理存储数据库.如果是 Standard Edition,则需要运行部署向导中的"准备第一个 St

ajax——dom基础

javascript中dom实现可以使我们在ajax中通过javascript代码对html和xml数据进行dom方式操作,从而做到页面的动态修改更新和数据的提取处理. dom概念 dom文档对象模型,允许程序和脚本动态访问和更新文档的内容,结构和风格. dom对象树 在浏览器中一个页面对应一个html文档,因此有一个与之对应的html的dom树. 例如: 在浏览器中一个页面可能处理多个xml文档,因此可能有多个xml的dom树. dom对象树中常用的节点 在dom树中,文档内容中对应了很多不同

DOM基础(二)

在我之前写的DOM基础(一)的文章中提到过兼容性的问题,也就是在获取标签间文本信息的时候,早期的火狐版本是不支持innerText的,只支持textContent ,现在的火狐浏览器两者都支持.而IE老版本,也是IE8之前的版本,包括IE8是不支持textContent的,只支持innerText.那要如何解决这个问题呢,我们总不能规定用户兼容我们写的代码的浏览器吧.毕竟顾客是上帝这句话是不变的真理,同样的,对于互联网来说,用户就是上帝.其实做为一个前端开发者来说,痛恨的不是顾客为什么不用好的浏

2015年双11主会场入口地址

2015年双11就要来了,准备下双11的入口地址,防止双11那天手忙脚乱,抢不过别人. ==>入口地址<== 今年一定要吸取去年的教训,提前把想买的放入购物车,现在还能领取一些优惠券,到时候一起用上,应该能省下一大笔. 买什么呢,鞋子,衣服,生活用品...

获取元素节点(DOM基础 )

一.DOM 简介:以一种独立于平台和语言的方式访问和修改(添加.移动.改变或移除的方法和属性)一个文档(主要是网页)的内容和结构.是表示和处理一个HTML或XML文档的常用方法. 节点的定义:D(Web网页文档)O(document对象)M(网页文档的树形结构)M中树形结构可以理解为由节点组成.把每个标签看作一个节点.   节点的分类:以一个完成的标签为例<div id ="box">测试Div</div> 元素节点:是标签<div></div