`
zhangjim
  • 浏览: 52836 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

(三) DOM和事件

 
阅读更多

1. childNodes和nodeType必须配合使用

    childNodes在IE中不包括文本,但在火狐中包含文本  

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
window.onload = function(){
	// childNodes 和 nodeType要配合使用
	var oUl = document.getElementById("ul1");
	var i = 0; 
	for(i = 0; i < oUl.childNodes.length; i++){
		if(oUl.childNodes[i].nodeType == 1){ // 等于1表示元素结点
			oUl.childNodes[i].style.background = 'red';
		}
	}
	alert(oUl.children.length);  // children是childNodes的兼容版
}
</script>
</head>

<body>
	<ul id="ul1">
    	<li></li>
        <li></li>
        <li></li>
    </ul>
</body>
</html>

 

2. 点和[]

<script type="text/javascript">
window.onload = function(){
	var oTxt = document.getElementById('txt1');
	oTxt.value = '123';  // 1
	oTxt['value'] = 'abc'; // 2    第一种方法和第二种方法一样
    oTxt.setAttribute('value', 'cde'); // 3 同 1, 2
}
</script>

 

3. 通过className选择元素

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
	function getNodesByClass(oParent, sClass){
		var aEle = oParent.getElementsByTagName('*');
		var aResult = [];
		var i = 0;
		for(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 = getNodesByClass(oUl, 'box');
		var i = 0;
		for(i = 0; i < aBox.length; i++){
			aBox[i].style.background = 'red';
		}
	}
</script>
</head>

<body>
	<ul id="ul1">
    	<li></li>
        <li class="box"></li>
        <li></li>
        <li class="box"></li>
    </ul>
</body>
</html>

 

分享到:
评论

相关推荐

    手写DOM事件模型

    DOM事件模型分为三个层次:**事件冒泡(Event Bubbling)**、**事件捕获(Event Capturing)**和**DOM2级事件模型**。事件冒泡是从最深的节点开始,逐级向上层节点传播事件;事件捕获则相反,从最外层节点开始,向下...

    xml 三种解析方式dom,sax,dom4j

    为了处理XML文档,有三种主要的解析方式:DOM、SAX和DOM4J。每种方法都有其特点和适用场景,下面将详细介绍这三种解析方式。 1. DOM(Document Object Model) DOM解析器将整个XML文档加载到内存中,构建一个树形...

    9月24日dom和事件代码.zip_图

    在"9月24日dom和事件代码.zip_图"这个压缩包中,我们可以预见到包含有关DOM操作和事件处理的代码示例。 DOM树的根节点是`document`对象,而其他节点可以是元素(如`&lt;div&gt;`或`&lt;p&gt;`)、属性、文本等。二叉树的概念与...

    DOM事件的区别

    ### DOM事件的区别详解 在Web开发中,DOM(Document Object Model)事件处理是与用户交互的重要方式之一。本文将从DOM0级事件处理、DOM2级事件处理以及事件流、事件委托等方面进行深入探讨,帮助读者更好地理解这些...

    dom4j-1.6.1.jar及其2.0.2、2.1.1三个版本的jar包

    在您提供的文件中,我们看到了DOM4J的三个不同版本:1.6.1、2.0.2和2.1.1。这些版本间的差异主要体现在性能优化、新功能的添加以及对错误和兼容性的修复上。下面我们将深入探讨DOM4J的核心概念和每个版本的一些关键...

    Java Script(js)中的 DOM 和事件(csdn)————程序.pdf

    JavaScript中的DOM(文档对象模型)和事件是两个关键概念,它们是网页动态交互的基础。DOM是一种标准编程接口,允许开发者以结构化的方式访问和修改HTML或XML文档。事件则是JavaScript中驱动程序行为的关键机制。 ...

    JavaScript dom0级事件.pdf

    除了DOM0级事件外,随着DOM规范的发展,还出现了DOM2级事件处理,它引入了`addEventListener`和`removeEventListener`方法,提供了更强大的事件处理功能,如支持多个事件处理函数、控制事件冒泡和捕获等。然而,DOM0...

    dom4j-2.0.3.zip

    4. **事件处理**: DOM4J支持事件驱动的处理模式,允许开发者在解析过程中响应特定的XML事件。 四、实战应用 在实际开发中,DOM4J常用于XML配置文件的读写,如Spring框架的配置文件处理。此外,它还广泛应用于数据...

    dom+dom4J+SAX 解析

    本程序的核心是利用DOM、DOM4J和SAX三种不同的方式解析XML文档,每种方法都有其独特的优势和适用场景。 1. DOM解析: DOM(Document Object Model)是一种将XML文档转换为内存中树形结构的模型。它将XML文件加载到...

    DOM4J第三方jar包(含源码)

    这个第三方jar包包含了DOM4J库以及其源码,这对于开发者来说是一个非常宝贵的资源,因为可以深入理解DOM4J内部的工作原理。 XML(eXtensible Markup Language)是一种标记语言,广泛应用于数据交换、配置文件和文档...

    DOM编程艺术 书+源码

    DOM事件处理是用户交互的基础。通过`addEventListener()`和`removeEventListener()`,可以绑定和解绑事件监听器,响应用户的点击、滚动等行为。同时,事件冒泡和事件捕获的概念也是理解事件处理的重要部分。 五、...

    java对dom的三种操作方式

    SAX是一种基于事件驱动的API,它通过顺序地读取XML文档来处理数据,而不是像DOM那样一次性将整个文档加载到内存中。这种处理方式非常适合大型文档的处理,因为它可以显著减少内存使用量。 - **特点**: - 高效且...

    javascript dom2 源码及pdf

    在JavaScript DOM2中,事件处理分为两个级别:事件目标和事件流。事件目标是指事件实际发生的地方,而事件流包括冒泡和捕获两种模式。你可以通过`addEventListener()`和`removeEventListener()`方法来添加和移除事件...

    HTML DOM 事件.pdf

    通过合理地利用DOM事件,可以极大地提升用户体验,构建出更加动态和交互式的Web应用。 #### 二、DOM事件分类 DOM事件根据其作用的不同,可以分为以下几类: 1. **鼠标事件** 2. **键盘事件** 3. **框架/对象事件*...

    解析XML的dom、sax和dom4j的jar包

    在Java中,解析XML有多种方法,主要包括DOM、SAX和DOM4J。下面将详细介绍这三种解析方式及其对应的jar包。 1. DOM (Document Object Model) DOM是一种基于树形结构的XML解析方法,它将整个XML文档加载到内存中,...

    BOM和DOM模型图

    #### 三、DOM模型详解 DOM模型中包含了一系列的对象,它们构成了文档的结构,以下是一些常见的对象: 1. **Document**:代表整个HTML或XML文档,是DOM树的根节点。通过它我们可以访问文档中的任何其他节点。 - **...

    Dom4J zip

    它支持事件驱动的解析模型(SAX)和树型模型(DOM),使得开发者可以根据项目需求选择最适合的解析策略。 2. **XPath支持**:Dom4J内置了XPath支持,允许通过简洁的表达式来定位XML文档中的节点,大大简化了数据...

    dom4j-2.1.1.jar

    三、DOM4J的使用场景 1. **XML文档的读取**:可以方便地读取XML文件,获取元素、属性等信息。 2. **XML文档的创建**:可以动态创建XML结构,构建复杂的XML文档。 3. **XML的修改**:通过API可以直接对XML文档进行...

Global site tag (gtag.js) - Google Analytics