
W3C DOM和JavaScript很容易混淆不清。DOM是面向HTML和XML文档的API,为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。JavaScript则是用于访问和处理DOM的语言。如果没有DOM,JavaScript根本没有Web页面和构成页面元素的概念。文档中的每个元素都是DOM的一部分,这就使得JavaScript可以访问元素的属性和方法。
DOM独立于具体的编程语言,通常通过JavaScript访问DOM,不过并不严格要求这样。可以使用任何脚本语言来访问DOM,这要归功于其一致的API。表3-1列出了DOM元素的一些有用的属性,表3-2列出了一些有用的方法。
1获取元素内的文本例如:有标签<strong,取<strong的文本内容:非mozilla浏览器:strongeleminnertext其它浏览器:strongelemfirstchildnodevalue;还有一个通用的函数:function text(e){var t="";e = echildnodes || e;for(var j=0;j<elength;j++){t += e[j]nodetype != 1 e[j]nodevalue : text(e[j]childnodes);}return t;}2获取元素内的html所有现代浏览器,都实现了html dom 元素的一个额外属性:innerhtml使用这个属性就可以从一个元素中提取所有的html和文本了。如果元素内,只有文本,可以替换上面的方法;如果含有子元素,则提取所有子元素和文本。3 *** 作元素特性获取和设置特性的值,常用的可以使用getattribute和setattributeHTML DOM文档还有作为快速特性获取器(getter)/设置器(setter)的额外属性集合,比如:elementid="main",elementvalue="123",作者有个更通用的方法,来获取和设置,写得很好,可以看看81页。下面是总结的一些在DOM中常用的方法:/根据id获得元素/function id(name){return documentgetElementById(name);}/有elem参数,是查找elem下的节点名;如果没有elem,则查找整个文档/function tag(name,elem){return (elem || document)getElementsByTagName(name);}/找出全部有指定类值的元素/function hasclass(name,type){var r=[];var re=new RegExp("(^|//s)" + name + "(//s|$)");var e = documentgetElementsByTagName(type || "");for(var j=0;j<elength;j++)if(retest(e[j])) rpush(e[j]);return r;}/获取元素文本内容的通用函数/function text(e){var t = "";e= echildNodes || e;for(var j=0;j<elength;j++){
1documentgetElementById("id名")
通过id属性的值查找,返回满足条件的第一个元素
2documentgetElementsByTagName("标签名")
通过标签名来获取页面中的元素。返回的是多个标签。
并不是真正的数组,但是我们可以想 *** 作数组一样 *** 作他(类数组)
3documentgetElementsByClassName("class名")
通过类名来获取页面中的元素。返回的也是多个标签
4documentgetElementsByName("表单元素name")
通过表单的name属性的值来获取元素
5documentquerySelector("div p a")
匹配指定 CSS 选择器的 第一个元素 。 如果没有找到,返回 null。
6documentquerySelectorAll("div")
获取所有满足条件的元素
7三个特殊节点
8childNodes 所有节点。包括各种节点
9fristChild 获取一个元素的第一个子节点
10lastChild 获取一个元素的最后一个子节点
11parentNode 获取一个元素的父节点
12previousSibling 获取一个元素的上一个兄弟节点
13nextSibling 获取一个元素的下一个节点
14children 只获取子元素
15firstElementChild 获取第一个元素子节点
16lastElementChild 获取最后一个元素子节点
17nextElementsibling 获取下一个元素兄弟节点
18previousElementsibling 获取上一个元素兄弟节点
19parentElement 获取父元素节点
20childElementCount 获取子元素的个数
1documentcreateElement(元素名) 创建一个元素节点
2documentcreateTextNode("这是新创建的一段文本") 创建一个文本节点
3appendChild() 添加元素到容器中
4insertBefore() 在一个节点前插入新节点
5removeChild() 删除子节点
6replaceChild() 替换子节点
7cloneNode() 克隆节点 传入true则复制所有节点
8setAttribute() 给元素设置属性
参数1:属性的名
参数2:属性的值
如果属性不存在,则添加;存在,则修改
9romveAttribute() 删除属性
参数:要删除的属性名
10getAttribute() 获取属性的值
参数:属性名
11访问 元素 id 名
boxid
12访问 元素 class 名
boxclassName
boxclassList 类数组
13获取标签名
boxtagName
boxnodeName
14innerHTML属性
innerHTML 属性设置或返回标签的开始和结束标签之间的 HTML。
值为为文本
15innerText属性
16outerHTML
跟innerHTML相比多包括了一个它自身
1访问行内(内联)样式表
2内部样式表和外部样式表的获取
getComputedStyle()
参数1:表示样式表所属的元素
参数2:如果获取的是伪元素的样式,传入伪元素,正常元素传入null 或不传
兼容性问题
3获取元素实际的宽高
offsetWidth 宽
offsetHeight 高
4获取元素参考父容器的left 和 top
offsetLeft 距离左部
offsetTop 距离上部
offsetParent 查找这个元素的参照父容器
以上就是关于JS *** 作DOM的几个属性与方法全部的内容,包括:JS *** 作DOM的几个属性与方法、如何获取元素的内容、JS DOM对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)