码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript DOM

时间:2015-01-12 21:04:10      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:javascript   js获取元素   dom   元素节点   文本节点   

JavaScript DOM

 

一:简介

 

        前面已经提到过JavaScript与DOM之间的关系:

        DOM(document object model) 是一套对文档内容进行抽象和概念化的方法、是对外提供的操纵浏览器内容的API。

        JavaScript对网页进行的所有操作都是通过DOM进行的、用于改变浏览器呈现的内容与方式。DOM属于浏览器,而不是JavaScript语言规范里的规定的核心内容。

        此篇重点在于DOM。

 

二:DOM

 

        D——Document:当创建一个网页并把他加载到web浏览器中时、DOM自动生成。把编写的网页文档转换为一个文档对象。

        O——Object:对象。比如上面提到的把网页文档转换成的document对象。JavaScript中对象分为三类(前文有详细说明):用户定义对象(user-defined object)、内建对象(nativeobject)、宿主对象(host object)。

        M——Model or Map:某种事物的表现形式。

 

三:节点

 

        元素节点(elementnode):是DOM的原子、对应文档中元素、如div、p、li等、可以包含其他元素节点。

        文本节点(textnode):总是被包含于元素节点。

        属性节点(attributenode):用来对元素做出更具体的描述。

 

四:CSS

 

        Cascading StyleSheet:改变文档呈现形式、具有继承(inheritance)特性、即加于某元素的样式同样作用与此元素包含的所有元素、但是可以被覆盖。

 

五:DOM常用方法

 

        1.  获取元素--用于document对象!

/**
 * Get element
 */
// reture one element
var element = document.getElementById('id');
//reture an array.
var elements = document.getElementsByTagName('tag');
//reture an array.
var elements = document.getElementsByClassName('class');

        假如getElementsByClassName不起作用、可通过如下方式实现:

 

function getElementsByClassName (node, className) {
	if (ndoe.getElementsByClassName) {
		return node.getElementsByClassName(className);
	} else {
		var result = new Array();
		var elems = node.getElementsByTagName('*');
		for (var i = elems.length - 1; i >= 0; i--) {
			if (elems[i].className.indexOf(className) != -1){
				result[i] = elems[i];
			}
		}
		return result;
	}
}

        2.  操作元素属性

 

/**
 * Attribute operation
 */
document.getAttribute('attr');
document.setAttribute('attr', value);

六:补充

     

        这里提到的只是很少一部分DOM方法、不是DOM的API、其他还有很多方法没有列举。

JavaScript DOM

标签:javascript   js获取元素   dom   元素节点   文本节点   

原文地址:http://blog.csdn.net/crave_shy/article/details/42646959

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!