dom操作

  1 1.滚动条位置查询
  2     document.documentElement.scrollLeft;
  3     document.documentElement.scrollTop;
  4
  5 2.document,element,text是node的子类
  6     节点树的根部是document
  7
  8     document.getElementById("")//id值是唯一的
  9
 10     document.getElementByName("")
 11     //根据name属性选取元素,返回一个NodeList对象(表现为一个包含若干Element对象的只读数组
 12     //name属性只在少数标签中使用,包括表单,iframe,img
 13
 14     getElementByTagName()
 15     //document和element下都定义了这个函数
 16     getElementByClassName()
 17     //根据类名选择元素
 18     querySelector()
 19     //匹配css选择器字符串,返回第一个匹配的node
 20     querySelectorAll()
 21     //匹配css选择器字符串,返回一个nodelist
 22
 23     jQuery将这一选择器集成进了 函数$()中
 24         而它的CSS选择器代码已经作为一个独立的标准库提出来并发布了,名称为Sizzle
 25
 26 3.操作node对象
 27     parentNode//该节点的父节点
 28     childNodes//只读类数组对象,是该节点子节点的实时表示
 29     firstChild和lastChild//第一个子节点和最后一个子节点。如没有子节点则为null
 30     nextSibling/previousSibling//该节点的兄弟节点中的前一个和下一个。具有相同父节点的两个节点为兄弟节点
 31     nodeType//返回值为一个数字
 32         //其中1:Element,3:Text,8:comment注释, 9:document,11:documentFragment
 33     nodeValue//text和comment节点的文本内容,对其他节点使用返回null
 34     nodeName//元素的标签名,以大写形式表示
 35
 36 4.针对element的API
 37     element.children//返回一个Elementlist,但是只包含element节点
 38     element.firstElementChild
 39     element.lastElementChild//只访问元素节点
 40
 41     nextElementSibling
 42     previousElementSibling//只代表兄弟元素节点
 43
 44     childElementCount//子元素的数量。返回值和children.length相等
 45
 46 5.属性
 47     element.attr或者element["str"]
 48         用对象属性访问方式直接访问元素的属性
 49
 50     element还定义两个函数
 51     getAttribute()
 52     setAttribute()来设置和查询非标准的element属性
 53
 54     html5对于非标准属性的解决方案
 55         <span class="sparkline" data-ymin="0" data-ymax="10"></span>
 56
 57         这样在获取span节点后
 58         var span=document.getElementByTagName("sparkline")[0];
 59         可以利用span.dataset.ymin 直接访问定义的属性//
 60
 61 6.元素的内容
 62     innerHTML:是element的一个属性,作为字符串标记返回该元素的内容。
 63     outerHTML:同样是element的属性。返回的字符串包含标签头尾,只有element定义了outerHTML
 64         且对outerHTML作修改时,元素本身会被新的内容替代
 65
 66     作为纯文本的元素内容:
 67     paraElement.textContent
 68     paraElement.innerText  //仅IE支持
 69
 70 7.创建,插入和删除节点
 71     var js=document.createElement("script")
 72     js.src=url;
 73     document.head.appendChild(js);//将一个脚本添加进head标签内
 74
 75     insertBefore(new,exist);//将new节点插入到exsit节点之前,该方法实在exist的父节点上调用
 76     function insertAt(parentNode,childNode,n){
 77         if(n<0||n>parentNode.childNodes.length){throw new Error("不存在的索引‘n’")}
 78             else if(n===parentNode.childNodes.length){parentNode.appendChild(childNode);}
 79                 else{
 80                     parentNode.insertBefore(childNode,parentNode.childNodes[n]);
 81                 }
 82     }//一个插入节点的例子
 83
 84
 85     删除节点:removeChild()
 86     该方法在想要删除的节点的父节点上调用
 87         其用法:child.parentNode.removeChild(child);
 88
 89     替换节点:replaceChild(new,child);
 90         child.parentNode.removeChild(document.createElement(),child);
 91
 92 8. 使用DocumentFragment
 93     documentFragment是一种特殊的Node,它作为其它节点的一个临时容器
 94     var frag=document.createDocumentFragment();
 95     frag容器存储一系列的node,但是可用作replaceChild,removeChild,insertBefore,appendChild的参数
 96
 97 9.文档的几何尺寸
 98     document.documentElement{
 99         clientHeight,clientWidth    当前视口的尺寸
100     }
101
102     offsetLeft,clientLeft,scrollLeft
103
104         父级元素未定位时,是offsetparent是body
105         父级元素position:absolute或者relative时,offsetparent就是这个父级元素
106             //absolute和relative的区别:absolute定位不存在与其原定位置,而relative定位会占据其原有位置  从其原有位置开始偏移
107
108 10.html表单
109     <form>---<input><select><button>
110
111     form的属性(property)
112     action,encoding,method,target控制了表单是如何来提交数据到web服务器并如何显示的
113     js之前,要用专门的<input type="submit">和<input type="reset">来提交和重置表单
114         不过js给form对象添加了方法 submit()和reset()调用方法可以完成同样的工作
115
116     表单元素如input,共有的属性
117         type 标识表单元素的类型,只有option没有这个值
118         form 对表单元素的归属表单form的只读引用
119         name 只读的字符串,定义表单元素的name;在与服务器交互时用处很大
120         value 与name属性对应的“值”
121
122     表单和元素的事件处理程序
123         onsubmit:侦测表单提交,只能通过submit按钮触发,form.submit()函数并不会触发该事件
124         onreset:侦测表单重置,触发也只能通过reset按钮
125
126         onclick:
127         onchange:当用户改变表单元素的所代表的的值时,他们会触发change事件,值得注意的是,该事件仅在用户输完值并切换焦点focus时才会触发,而不是输入一个值马上触发!
128         
时间: 2024-12-16 02:44:32

dom操作的相关文章

jquery中的DOM操作

DOM操作分为:DOM核心.HTML-DOM.CSS-DOM 1.节点操作 查找 查找元素节点:jquery选择器 查找属性节点:attr("")方法,参数为要查询的属性的名字 创建 创建元素节点:$("html")方法,参数为HTML标记字符串,如:<p></p> 注意:(1)动态创建的新元素节点不会被自动添加到文档中,需要用其他方法插入文档中(2)创建元素时注意标签闭合,可以用$("<p></p>&quo

认识JQuery,JQuery的优势、语法、多库冲突、JS原生对象和JQuery对象之间相互转换和DOM操作,常用的方法

(一)认识JQuery  JQuery是一个JavaScript库,它通过封装原生的JavaScript函数得到一套定义好的方法    JQuery的主旨:以更少的代码,实现更多的功能 (二)JQuery的优势 1)可以像CSS一样访问和操作DOM 2)修改CSS控制页面外观 3)简化JS代码操作 4)事件代理更加容易 5)动画效果使用方便 6) Ajax技术更加完美 7)大量的基于Jquery的插件 8)可以自定义扩展功能插件 (三)JQuery的语法 格式:$(selector).actio

DOM操作表格

前面的话 表格table元素是HTML中最复杂的结构之一.要想创建表格,一般都必须涉及表示表格行.单元格.表头等方面的标签.由于涉及的标签多,因而使用核心DOM方法创建和修改表格往往都免不了要编写大量的代码.本文将详细介绍DOM操作表格的属性和方法 需求 要通过DOM实现下列格式的表格结构 <table border = "1" width = "100%">     <tbody>         <tr>           

zBase --轻量级DOM操作库

项目地址:ZengTianShengZ-github zBase-1.2.0 --v3 修复部分bug,添加AMD规范测试 zBase-1.1.0 --v2 对 v1 版本做了升级,优化DOM查找,简化API,提高代码可读性,支持模块化 支持 AMD & CommonJS zBase-1.0.0 --v1 没有任何依赖 轻量级的Dom操作库,封装一些常用的css选择器和事件操作等 Quick start $ npm install $ gulp scripts 使用npm安装 zBase: $

JQuery基本知识、选择器、事件、DOM操作、动画

1:基本选择器 <title></title> <script src="js/jquery-1.7.2.min.js"></script> </head> <body> <form id="form1" runat="server"> <div id="div1"> <a>aaaaa</a> <%--

jQuery学习之路(2)-DOM操作

▓▓▓▓▓▓ 大致介绍 jQuery作为JavaScript库,继承并发扬了JavaScript对DOM对象操作的特性,使开发人员能方便的操作DOM对象. ▓▓▓▓▓▓ jQuery中的DOM操作 看看DOM操作都有哪些 逐一来看 先写一份HTML代码,后面的代码将操作这份HTML代码 <p title="选择你最喜欢的水果">你最喜欢的水果?</p> <ul> <li title="苹果">苹果</li>

JavaScript常用原生DOM操作

最近,自己在投简历,找工作,在忙碌的复习当中,希望把有用的知识分享出去,是自己的成长,也可以给别人帮助. 今天给大家分享一些常用的原生的JavaScript DOM 操作. OK,那开始吧,那就开始吧O(∩_∩)O~~ 一.查看浏览器视口尺?   window.innerWidth/window.innerHeight(IE8以及IE8以下不能用  (′д` )-彡  )        document.documentElement.clientHeight/document.document

为什么说DOM操作很慢

原文转自:http://kb.cnblogs.com/page/534571/ 一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大家都会这样说,在网上学习了一些资料,这边整理出来. 首先,DOM对象本身也是一个js对象,所以严格来说,并不是操作这个对象慢,而是说操作了这个对象后,会触发一些浏览器行为,比如布局(layout)和绘制(paint).下面主要先介绍下这些浏览器行为,阐述一个页面是怎么最终被呈现出来的,另外还会从代码的角度,来说明一些不好的实践以及一些优化方案

DOM操作优化

缓存DOM对象 JavaScript的DOM操作可以说是JavaScript最重要的功能,我们经常要根据用户的操作来动态的增加和删除元素,或是通过AJAX返回的数据动态生成元素.比如我们获得了一个很多元素的数组data[],需要将其每个值生成一个li元素插入到一个id为container的ul元素中,最简单(最慢)的方式是: var liNode, i, m; for (i = 0, m = data.length; i < m; i++) { liNode = document.createE

Jquery基础之DOM操作

 一.jQuery对象与Dom对象的区别 一直以来对于通过jQuery方式获取的对象使不能直接使用JavaScript的一些方法的,开始的时候不理解,现在此案知道,原来jQuery获得的对象并不和我们平时使用getElementById获得的对象是一样的对象.所以一些新手就很迷惑,为什么${”#Element”}不能直接innerHTML,这就是原因所在,解决方式请看下文. jQuery对象与dom对象的转换只有jquery对象才能使用jquery定义的方法.注意dom对象和jquery对象是有