DOM总结:

DOM:文档对象模型document object model

DOM三层模型:

DOM1:将HTML文档封装成对象

DOM2:将XML文档封装成对象

DOM3:将XML文档封装成对象

DOM树:将HTML中的标签按照层级关系封装成节点对象

DOM的出现使静态的HTML页面的标签变为动态的可操作的节点对象

DHTML:动态的HTML,是HTML、CSS、DOM、js四种技术的综合

HTML:封装页面数据

CSS:设置标签中的数据样式

DOM:将标签封装成对象

js:将三种进行融合,通过程序设计完成动态效果的操作

标记型文档一加载进内存,内存中就产生了相应的DOM树,由此产生的弊端就是,文档过大时,消耗资源,对于大型文档,可用SAX方式解析。

HTML文档中的层次关系,DOM树的层次结构

document HTML文档对象

|--head

|--title

|--base

|--meta

|--link

|--body

|--form

|--input

|--select

|--textarea

|--div

|--table

|--tbody默认是有的,即使没写

|--tr

|--td

|--th

|--a

.....

将HTML文档及其中的标签都封装成对象,方便操作。

节点都有的属性:nodeName,nodeType,nodeValue

注意区分DOM代码中对象的属性和HTML、CSS代码中的属性写法上不同

节点类型:

  标签型节点:nodeType为1,容器型节点的value为空null,没有值

 文本型节点:名字#text类型为3

 注释型节点:#comment类型为8

 属性型节点:类型为2 属性可通过对象的attributes集合属性获取

 文档型节点:#document类型为9

节点关系:

父节点:每个节点有且只有一个父节点,通过节点parentNode属性获取

子节点:可以有多个,通过节点childNodes属性获取子节点集合(数组)

兄弟节点:分上一个和下一个,通过previousSlbing和nextSlibing属性获取

注意页面中标签之间的空行也是文本节点,浏览器解析时出现也可能没有这个节点

获取节点的方法:

1、getElementById(HTML标签中定义的Id值)

获取文档中指定的id对象的标签对象,注意保证id值的唯一性

如果有多个标签id相同,获取id对应的第一个对象

div内部数据
style属性中的内容为CSS代码,注意区分DOM中的相同属性名称 2、getElementsByName(HTML标签中定义的name值) 获取文档中所有与指定标签名相同的所有对象,封装为数组返回 3、getElementsByTagName(HTML标签名) 获取文档中与指定标签名相同的所有对象,返回数组 容器型标签中都有该方法,如Div,table,p 每个对象都有一个集合属性all,可以获取该对象中的所有节点对象的引用,但是all属性不获取文本型节点和空行产生的节点,还有有一个attributes集合属性,用来获取该对象的所有属性。 window对象:代表浏览器打开一个窗口 window中的对象: document:窗口中的HTML文档event:事件状态 history:历史记录location,当前地址栏信息 navigator:关于浏览器的信息screen:屏幕信息 navigator对象:window.navigator.href或者navigator.href 属性:appCodeName appName appVersion获取浏览器代码名称、名称、版本 platform获取操作系统名称 history对象:只有一个length属性 方法:back() forward() go()都是从历史列表中装入URL location对象:此对象的属性既可用来获取又可用来设置对应属性的值 属性:host获取或设置URL的主机名和端口号 hostname port href :URL protocol:协议 pathname:文件名或路径 search:href属性中问号后面的部分 hash:href属性中井号后的部分 location对象的任一属性改变后浏览器都将立即前往指定的URL screen对象: 属性:availHeight和availWidth是系统屏幕的有效区域,不包括Windows的任务栏 height和width是系统屏幕的分辨率值 window对象方法: alert:确定对话框 confirm:确定取消对话框,返回true或false prompt(提示信息,[输入默认值]):可接收输入数据的对话框,返回输入的文本数据 moveBy(x, y):使窗体根据指定的坐标值偏移 窗口抖动效果 moveTo(x, y):使窗体移动到指定坐标值 resizeBy(x, y):窗体缩放指定偏移值 resizeTo(x, y):窗体缩放至指定值 scroll(x, y):将窗口滚动到距窗口左上角指定偏移值的位置 scrollBy(x, y):将窗口滚动指定的偏移值 scrollTo(x, y):将窗口滚动到指定位置 close:关闭窗口 open:打开一个窗口window.open( [sURL] [, sName] [, sFeatures] [, bReplace]) window.open("","_blank","fullscreen=1");这句NB了,整个屏幕都是白板 sURL:打开窗口的地址,默认打开一个新的空白窗体about:blank sName:指定窗口的打开方式,即target属性值 _blank:新的无标题窗口 _parent:当前框架的父窗体,没有父窗体则为_self _self:当前窗口,替换当前窗口内容 _search:浏览器的搜索面板内,IE5及以后版本有效 _top:替换所有可以加载的框架集,没有框架则为_self sFeatures:(for example, "fullscreen=yes, toolbar=yes") height≥100px,width≥100px,left≥0,top≥0 下边的属性取值可以为yes/no或1/0 channelmode 默认值no fullscreen 默认值no,改为yes记得提供关闭窗口的按钮或方法ALT+F4 下边的默认值都为yes directories location地址栏 menubar菜单栏 resizable可调大小 scroll bars滚动条 status状态栏 titlebar标题栏 toolbar工具栏 window.open() bReplace:false(新建)或者true(替换)历史列表中的记录 setTimeout:经过指定毫秒值后,计算表达式的值或执行表达式内容。返回一个id值 setTimeout(“window.close()”, 5000);5秒后自动关闭窗口 setInterval:没经过指定毫秒值计算表达式,循环。返回一个事件id值 setInterval(“alert(111)”,3000)每隔3秒弹一次 clearTimeout(id)、clearInterval(id):清除使用上边两个方法开始的事件 focus:获取焦点 window.setInterval(“window.focus()”, 3000);将窗口每隔3秒前置一次 window事件 onload:对象加载完成后 打开窗口后 onunload:对象卸载完成 关闭窗口,窗体消失后 onbeforeunload:对象卸载前 关闭窗口,窗体还在时 onkeypress:键盘事件 event对象: keyCode属性:设置或获取事件对应的按键码 returnValue:设置或获取事件的返回值,false或true,用于取消事件执行效果 例:文本框只允许输入数字,非数字不允许显示在文本框中 <input type=text onclick=checkNum() /> function checkNum() { if (!(window.event.keyCode>=48 && window.event.keyCode<=59)) { alert(“不允许输入非数字”); //不加下边这句,非数字会提示但还会在文本框显示 window.event.returnValue = false;取消事件执行 } } returnValue可用在表单提交中,当表单数据不符合要求时取消提交按钮效果 srcElement属性可设置或获取事件源对象 取消超链接默认点击效果:让浏览器启动JavaScript解析引擎执行一个空的函数 <a href=”javascript:void(0)” onclick=”method()”></a> CSS中的布局属性overflow:设置当对象中的内容超过其指定宽度或高度时的显示方式 hidden隐藏、visible显示、scroll滚动条、auto自动 使用此属性可以实现展开闭合效果,如好友列表 display属性也可以完成这个效果 none隐藏,block块状显示 分行, inline一行内显示 获取事件源对象的两种方式 1、event.srcElement 2、事件处理时直接将事件对象通过this传递 创建节点: document.createElement(标签名)创建一个指定标签名的节点 document.createTextNode(文本内容)创建一个文本节点 添加节点:添加到的目的节点.appendChild(要添加的节点) 添加到尾部 table对象 rows属性:获取表格中所有的行 cells属性:表格中所有单元格 使用table对象创建行对象:table.insertRow([index])index默认-1行尾 用tr对象创建单元格:tr.insertCell() 注意table的下一级子节点tbody,添加行节点要加在tbody下 tr对象也有cells集合属性,获取的是这一行中的单元格集合 给对象添加属性 1、tabNode.id = “tabid” 2、tabNode.setAttribute(“id”,”tabid”) 删除表格节点: 删除行:tabNode.deleteRow(rowIndex) 删除列:删除所有行的指定单元格 获取列数tabNode.rows[0].cells.length trNode.deleteCell(cellIndex) 表格数据排序过程中定义的临时容器(存放行对象的数组)存放的都是行对象的引用。 表格行颜色间隔显示和鼠标悬浮行高亮效果: 间隔显示:奇偶行分别加载不同样式即可,onload事件中加载 悬浮高亮:行对象的onmouseover和onmouseout事件 对象.innerText 可以获取或设置对象的内部文本,但是包含的HTML标签或属性也会作为纯文本解析。要将内部的标签或HTML属性解析,需要使用innerHTML 按钮一次性点击效果:event.srcElement事件源/input对象.disabled=true 按钮点击后变灰 复选框操作:获取总金额 获取所有复选框checkboxs,遍历,判断checked属性if (checkedboxs[x].checked) 注意将复选框的value属性值进行parseInt转换 全选时将其他复选框的checked属性值改为全选框的checked属性值即可 通过下拉列表动态改变页面样式:select标签的onchange事件 options属性:所有列表项 selectedIndex:选中项的角标 获取列表选中项:selectNode.options[selectNode.selectedIndex] 值.value DOM代码改变div区域内文本样式:divNode.style.textTransform uppercase lowercase capitalize首字母大写 JavaScript代码写在head标签内时要注意全局变量的问题: 函数只有调用时才执行,封装在函数内部的变量没有问题;在函数外部定义的全局变量,页面加载时还没读到下边的具体标签,全局变量获取指定标签对象时就会出现null 获取鼠标的坐标,让指定区域随鼠标移动 获取鼠标坐标方法:event.x event.y 随鼠标移动:改变指定区域的left和top属性 用到的事件:body对象的onmousemove 还用到CSS样式的position定位属性,将页面分层,使指定区域悬浮在body区域上方。层次:直接定义页面所有对象到同一个层里,为了对某个区域进行移动、定位,将该区域分离到另一个单独的层里 //用position属性将广告区域进行分层,绝对定位,使广告区域悬浮在body区域上方 <body>
<div id=”ad” style=”position:absolute; left:0; top:0”>广告</div> <div id=”bodyid”>body区域</div> </body> window.onload=function() { document.body.onmousemove = function() { var adNode=document.getElementById(‘ad’) adNode.style.left = event.x; adNode.style.top = event.y; } } 流氓:将广告区域的坐标值设置为鼠标坐标值左上一点,使鼠标停在广告区域中 将广告区域用a标签封装 在广告区域添加点击事件,点击后关闭广告ad.style.dislay=none 限定边界: addiv.offsetWidth 广告区域自己的宽度 document.body.clientWidth body区域的宽度 边界内移动代码: <script type="text/javascript"> var x=y=1; var movex=movey=0; function move() { var ad = document.getElementById("ad"); movex = movex + x*5; //每次移动位置递增5个像素 movey = movey + y*5; ad.style.left = movex; //移动 ad.style.top = movey; //alert("aaaaaaaa"); var bdx = document.body.clientWidth; //获取当前浏览器页面窗口的宽和高 var bdy = document.body.clientHeight; var adx = ad.offsetWidth; //获取广告区域的大小 var ady = ad.offsetHeight; //alert(bdx+"----------"+bdy); if (movex+adx >= bdx) //判断是否移到边界了 { //移到边界开始递减 x = -1; } else if (movex <= 0) //递减只零再开始递增 { x = 1; } if (movey+ady >= bdy) { y = -1; } else if (movey <= 0) { y = 1; } } var timeid; function fly()//飞吧 每个10毫秒执行一次移动 { //move(); timeid = window.setInterval("move()", 100); } function over()//鼠标进入广告区停止移动 { window.clearInterval(timeid); } window.onload = function() //页面一加载就开始飞 { fly(); var ad = document.getElementById("ad"); ad.onmouseover = function() { over(); //鼠标进入取消定时移动 } ad.onmouseout = function() { fly(); //鼠标离开继续移动 } } function closeAD() //点击关闭后停止定时移动,隐藏广告区域 { var ad = document.getElementById("ad"); ad.style.display = 'none'; over(); } </script> </head> <body> <div id="ad" style="position:absolute; border: red 1px solid; left:0; top:0; height:90; width:90"> <a href="http://www.ad.com" target="_blank">广告</a><br/><br/><br/><br/> <a href="javascript:void(0)" onclick="closeAD()">关闭广告</a></div> </body>
级联菜单:省市选择示例 select标签onchange事件 添加option项 将省份对应的城市城市列表封装进二维数组,角标和省的option项角标一致 选中省份后,遍历对应的城市列表,将其封装进option标签中并添加到子菜单中 注意:在添加子项前需先清空子菜单项,以免将上一选项结果遗留 再次注意:清空子项用遍历时,注意removeChild一次,length就减一次,如果循环变量跟着递增就会移不完 移除下拉选项的简单方法,直接将列表的options属性的length置为0即可 邮件列表示例中删除所选邮件时注意: 和用遍历方法删除列表项时的问题一样,删除时,长度递减,循环变量递增,删不全 可定义一个临时容器用来存储待删除的节点索引,然后遍历临时容器时再删除这些节点。临时容器中存放的也是表格行节点的引用,每次删除完颜色事件都要加载一遍 表单验证: 可以用document.forms获取页面中的所有表单对象 拿到表单对象后,可以直接使用表单中的组件名获取对应组件 输入框失去焦点时就开始验证:onblur事件发生就开始验证 怎么让表单验证失败时提交不出去呢? 1、表单标签中的onsubmit事件中,event.returnValue=false提交按钮就失效了 2、在onsubmit事件处理函数中返回false(不提交)或true(提交),再将返回结果返回给onsubmit事件即可 onsubmit=“return checkForm()” 事件处理函数中使用returnValue时,onsubmit不用return即可 JS中的正则表达式 限定开始结束位置^ $ 两种写法 var reg = /^\d{5}$/ 5位数字,下同
var reg = new RegExp(“^\\d{5}$”); var namereg = /^[a-z]{5}$/i 5为字母 后面加i不分大小写 下面的示例创建一个包含正则表达式模式及相关标志的对象(re),向您演示正则表达式对象的用法。在本例中,作为结果的正则表达式对象又用于 match 方法中: function MatchDemo(){ var r, re; // 声明变量。 var s = "The rain in Spain falls mainly in the plain"; re = new RegExp("Spain","i"); // 创建正则表达式对象。 r = s.match(re); // 在字符串 s 中查找匹配。 return(r); // 返回匹配结果。 } 如果String对象的 match 方法没有找到匹配,返回 null。 RegExp对象的test方法也可判断是否匹配 reg.test(str) 返回boolean 附件添加删除、通过下拉列表改变字体颜色、字体样式、省市级联菜单示例 <style type="text/css"> /*CSS区域*/ a:link, a:visited{ color: #FF0000; font-size: 22; text-decoration: none; } </style> <script type="text/javascript"> /*javascript区域*/ function addFile() { var tabNode = document.getElementById("file"); var trNode = tabNode.insertRow(); var tdNode_file = trNode.insertCell(); var tdNode_del = trNode.insertCell(); tdNode_file.innerHTML = "<input type='file' />"; tdNode_del.innerHTML = "<img src='1.jpg' alt='删除文件' onclick='delFile(this)' />"; } function delFile(node) { //var tabNode = document.getElementById("file"); var trNode = node.parentNode.parentNode; //alert(tabNode.nodeName); //alert(trNode.nodeName); trNode.parentNode.removeChild(trNode); //父节点删除子节点 他杀 } </script> <body> <!--添加删除附件--> <a href="javascript:void(0)" onclick="addFile()">点击上传文件</a> <table id="file"> </table> <hr/> <style type="text/css"> #bbb{ border: red 3px solid; width: 200px; } #colorid{ width: 50px; } #text{ border: blue 1px solid; width: 100px; text-align: center; margin: 10px 0px 0px 20px; } </style> <script type="text/javascript"> /*鼠标指上去就盖住背景色了 想去掉没成功 onload=function() { var sel = document.getElementById("colorid"); sel.onmouseover = function(){sel.className="";}; sel.onmouseout = function(){sel.className="";}; } */ function changeColor() { var sel = document.getElementById("colorid"); var div = document.getElementById("text"); var val = sel.options[sel.selectedIndex].value; div.style.color = val; } </script> <div id="bbb"> 选择颜色: <select id="colorid" onchange="changeColor()"> <option value=#FFFF00 style=background:#FFFF00></option> <option value=#FF0000 style=background:#FF0000></option> <option value=#33FF00 style=background:#33FF00></option> <option value=#0033FF style=background:#0033FF></option> </select> <div id="text"> 变变变<br /> 变变变<br /> 变变变<br /> 变变变<br /> 变变变<br /> </div> </div> <hr /> <style type="text/css"> #div1{ background: #FFCC00; width: 300; height: 80; } #selid{ width: 200; margin-top: 20px; margin-bottom: 20px; } #div2{ background: #669999; width: 300; } </style> <script type="text/javascript"> <!—改变字体样式--> function textChange() { var div1 = document.getElementById("div1"); var div2 = document.getElementById("div2"); var sel = document.getElementById("selid"); var val = sel.options[sel.selectedIndex].value; //alert(val); div1.style.textTransform = val; div2.innerHTML = "text-transform : "+val+";"; } </script> <div id="div1"> Every man dies. Not every man really lives. </div> <select id="selid" onchange="textChange()"> <option value="none">--text-transform--</option> <option value="uppercase">UPPERCASE</option> <option value="lowercase">lowercase</option> </select> <div id="div2"> text-transform : none; </div> <hr/> <!—省市级联菜单--> <style type="text/css"> #seldiv select{ width: 150px; } </style> <script type="text/javascript"> function showCity() { var arr = [[], ["朝阳区", "海淀区", "西城区", "东城区"], ["郑州市", "南阳市", "邓州市", "信阳市", "驻马店市", "开封市"], ["唐山市", "石家庄市", "廊坊市", "邯郸市"], ["北京", "上海", "深圳", "天津", "重庆", "香港特别行政区", "澳门特别行政区"]]; var sel1 = document.getElementById("sel1"); var sel2 = document.getElementById("sel2"); var index = sel1.selectedIndex; //sel2中添加内容之前先清空下 有简单方法 for (var x=1; x<sel2.options.length; )//x++) //length在减 x在递增 只移除一半 { sel2.removeChild(sel2.options[x]); } for (var x=1; x<sel1.options.length; x++) { if (x == index) { for (var y=0; y<arr[x].length; y++) { var opNode = document.createElement("option"); opNode.innerHTML = arr[x][y]; sel2.appendChild(opNode); } } } if (sel1.selectedIndex!=0) sel2.selectedIndex = 1; } </script> <div id="seldiv"> <select id="sel1" onchange="showCity()"> <option value="0">选择省市</option> <option value="1">北京市</option> <option value="2">河南省</option> <option value="3">河北省</option> <option value="4">中国</option> </select> <select id="sel2"> <option value="none">选择城市</option> </select> </div> </body> 邮件列表示例: <style type="text/css"> /*CSS区域*/ table{ border: black 2px solid; border-collapse: collapse; text-align: center; width: 600px; /* margin: 10px; 外框边距*/ } table th{ background: #33FF33; } table td, table th{ padding: 5px; border: black 1px solid; } .one{ background: #CCFF66; } .two{ background: #FFCCFF; } .over{ background: #FF9933; } </style> <script type="text/javascript"> /*javascript区域*/ var name; function trColor() { var tabNode = document.getElementById("maillist"); var tabRows = tabNode.rows; for (var x=1; x<tabRows.length-1; x++) { if (x%2==1) { tabRows[x].className = "one"; } else tabRows[x].className = "two"; tabRows[x].onmouseover = function() { name = this.className; this.className = "over"; } tabRows[x].onmouseout = function() { this.className = name; } } } window.onload = function() { trColor(); } function checkAll(index) { var allNodes = document.getElementsByName("all"); //不管选的哪个都让两个全选框一样 allNodes[Math.abs(index-1)].checked = allNodes[index].checked; var mails = document.getElementsByName("mail"); for (var x=0; x<mails.length; x++) { mails[x].checked = allNodes[index].checked; } } function checkByBut(mode) //选择按钮事件处理 { /*简单写法 var mails = document.getElementsByName("mail"); for (var x=0; x<mails.length; x++) { if (mode==2) mails[x].checked = !mails[x].checked; else mails[x].checked = mode; } */ if (mode==1) { document.getElementsByName("all")[0].checked = true; checkAll(0); //alert(mode); } if (mode==0) { document.getElementsByName("all")[0].checked = false; checkAll(0); } if (mode==2) { //mails[x].checked = !mails[x].checked; var alls = document.getElementsByName("all"); if (alls[0].checked) //使两个全选框同步 { alls[0].checked = false; alls[1].checked = false; } var mails = document.getElementsByName("mail"); for (var x=0; x<mails.length; x++) { if (mails[x].checked) { mails[x].checked = false; } else { mails[x].checked = true; } } } } function del() //删除所选 { /* var mails = document.getElementsByName("mail"); for (var x=0; x<mails.length; x++) { if (mails[x].checked) { var trNode = mails[x].parentNode.parentNode; trNode.removeNode(true); //这样删掉之后length在减小 而x在递增 导致删一半留一半 } } trColor(); */ var arr = []; //记录被选择的行号 var pos = 0; var mails = document.getElementsByName("mail"); for (var x=0; x<mails.length; x++) { if (mails[x].checked) { var trNode = mails[x].parentNode.parentNode; arr[pos++] = trNode; } } var tabNode = document.getElementById("maillist"); var tabRows = tabNode.rows; for (var x=0; x<arr.length; x++) { arr[x].removeNode(true); } trColor(); //重新加载一次样式,颜色间隔效果 } </script> <body> <!--邮件列表操作演示--> <table id="maillist"> <tr> <th><input type="checkbox" name="all" onclick="checkAll(0)" />全选</th> <th>发件人</th> <th>邮件主题</th> <th>邮件内容</th> <tr> <tr> <td><input type="checkbox" name="mail" /></td> <td>张三11</td> <td>主题:邮件11</td> <td>内容:邮件11</td> </tr> <tr> <td><input type="checkbox" name="mail" /></td> <td>张三22</td> <td>主题:邮件22</td> <td>内容:邮件22</td> </tr> <tr> <td><input type="checkbox" name="mail" /></td> <td>张三33</td> <td>主题:邮件33</td> <td>内容:邮件33</td> </tr> <tr> <td><input type="checkbox" name="mail" /></td> <td>张三44</td> <td>主题:邮件44</td> <td>内容:邮件44</td> </tr> <tr> <td><input type="checkbox" name="mail" /></td> <td>张三55</td> <td>主题:邮件55</td> <td>内容:邮件55</td> </tr> <tr> <td><input type="checkbox" name="mail" /></td> <td>张三66</td> <td>主题:邮件66</td> <td>内容:邮件66</td> </tr> <tr> <td><input type="checkbox" name="mail" /></td> <td>张三77</td> <td>主题:邮件77</td> <td>内容:邮件77</td> </tr> <tr> <td><input type="checkbox" name="mail" /></td> <td>张三88</td> <td>主题:邮件88</td> <td>内容:邮件88</td> </tr> <tr> <td><input type="checkbox" name="mail" /></td> <td>张三99</td> <td>主题:邮件99</td> <td>内容:邮件99</td> </tr> <tr> <th><input type="checkbox" name="all" onclick="checkAll(1)" />全选</th> <th colspan=3> <input type="button" value="全选" onclick="checkByBut(1)" /> <input type="button" value="取消选择" onclick="checkByBut(0)" /> <input type="button" value="反选" onclick="checkByBut(2)" /> <input type="button" value="删除所选邮件" onclick="del()" /> </th> <tr> </table> </body>

DOM文档对象总结的更多相关文章

  1. 前端开发—BOM对象DOM文档对象操作

    BOM 浏览器对象 BOM:Browser Object Model 操作浏览器,需要调用window对象,它是所有浏览器都支持的对象,表示的就是浏览器窗口 window对象可以通过点调用子对象 wi ...

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

    JavaScript文档对象,DOM基础 学习要点: 1.DOM介绍 2.查找元素 3.DOM节点 4.节点操作 DOM(Document Object Model)即文档对象模型,针对HTML和XM ...

  3. 第一百一十四节,JavaScript文档对象,DOM进阶

    JavaScript文档对象,DOM进阶 学习要点: 1.DOM类型 2.DOM扩展 3.DOM操作内容 DOM自身存在很多类型,在DOM基础课程中大部分都有所接触,比如Element类型:表示的是元 ...

  4. 文档对象类型DOM

    1 DOM概述 1.1 什么是DOM 文档对象模型 Document Object Model 文档对象模型 是表示和操作 HTML和XML文档内容的基础API 文档对象模型,是W3C组织推荐的处理可 ...

  5. JavaScript学习笔记7 之DOM文档对象模型

    一.什么是DOMDocument Object Model 文档 -------对象 ----模型-------缩写DOM DOM是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘 ...

  6. ready是先执行的,load后执行,DOM文档的加载步骤

    在jq中在文档载入完毕后有这几种方式去执行指定函数: $(document).ready(function() { // ...代码... }); //document ready 简写 $(func ...

  7. 将XML解析成DOM文档

    在支持html5的浏览其中,可以使用标准解析器DOMParser对象进行解析html或者xml等字符串 var data = '<div></div>'; var tmp = ...

  8. JavaScript : DOM文档解析详解

    JavaScript DOM  文档解析 1.节点(node):来源于网络理论,代表网络中的一个连接点.网络是由节点构成的集合 <p title=“a gentle reminder”> ...

  9. Dom文档模型

    文档对象模型     通过 JavaScript,您可以重构整个 HTML 文档.您可以添加.移除.改变或重排页面上的项目.要改变页面的某个东西,JavaScript 就需要获得对 HTML 文档中所 ...

随机推荐

  1. Table of Contents - Git

    Downloading and  Installing Git Download for Linux and Unix Integration with Eclipse Eclipse 提交工程至 G ...

  2. SQL SERVER 中的行列转换小结

    1. 介绍说明 前段时间组内的小伙伴在升级维护项目中,经常涉及一些复杂的数据转换问题,让我去看下有些地方怎么处理,我发现好多都是涉及到行列转换的问题,处理起来经常会比较麻烦,借此也总结一下,方便以后的 ...

  3. Intent进行组件通信的一些体会

    Intent进行组件通信的原理 l  Intent协助应用间的交互与通讯 Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述.Android则根据此Intent的描述,负责找到对应 ...

  4. Android ListView动态改变Item高度

    在adapter的getView方法中进行设置,代码如下 @Override public View getView(int position, View convertView, ViewGroup ...

  5. SQL事务隔离级别

    数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况. 更新丢失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修 ...

  6. Elementary os的安装

      1.         使用安装文件进行数据读取 2.         进入安装界面 3.         选择语言并进行安装(可以先试用) 4.         选择继续(可以勾选两个选项,意思是 ...

  7. MVC为模型增加正则表达式

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0sAAACJCAIAAABy7jQDAAAVTUlEQVR4nO3dv640yVnH8bmJvQpLBI

  8. 《JavaScript高级程序设计》心得笔记-----第三篇章

    第十章 1.    DOM1级定义了一个Node接口,以Node类型实现(除IE以外),为了确保跨浏览器兼容,最好用nodeType属性与数字数值进行比较(someNode. nodeType==1) ...

  9. setbuf

    setbuf是linux中的C函数,主要用于打开和关闭缓冲机制. setbuf函数具有打开和关闭缓冲机制.为了带缓冲进行I/O,参数buf必须指向一个长度为BUFSIZ(定义在stdio.h头文件中) ...

  10. C# http下载(支持断点续传)

    分享下项目里面自己封装的一个http下载类 功能如下: 1.支持断点续传 2.下载失败自动重试 3.超时等异常处理 using System; using System.Collections.Gen ...