源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Jvascript学习实践案例(开发常用)

  • 时间:2022-02-03 01:31 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Jvascript学习实践案例(开发常用)
一个自定义的循环遍历元素文本内容的函数   该函数可以确保在HTML和XML DOM文档中很好的工作,使用该函数,就能够获取任何元素文本内容了 循环遍历元素文本内容
[url=#]<li><a href="#">a标签2</a></li> <li><a href="#">a标签3</a></li> <li><a href="#">a标签4</a></li> </ul> </div> <script type="text/javascript"> <!-- function text(e){ //如果传入的是元素,则继续遍历其子元素,否则假定他是一个数组 e=e.childNodes || e; var t=""; //遍历所有的子节点 for(var i=0;i<e.length;i++){ if(e[i].nodeType!=1){//如果不是元素节点,则追加其文本值 t+=e[i].nodeValue+"<br>"; }else{ t+=text(e[i].childNodes);//否则,继续递归调用 } } return t; } var obj=document.getElementById('test'); var text=text(obj); document.write(text); //--> </script> </body> </html>
通常,我们使用previousSibling,nextSibling,firstChild,lastChild等等来遍历DOM文档,但是,往往会将文本节点也遍历出来,一般情况下,我们不大需要遍历文本节点。所以,这里,我们可以使用自定义的几个函数将previousSibling,nextSibling,firstChild,lastChild封装起来,跳过遍历到的文本节点,而直接取得元素节点 查找节点的几个替代函数
<html> <head> <meta http-equiv="Content-type" content="text/html;charset=gb2312"> <title>previousSibling,nextSibling,firstChild,lastChild和parentNode的替代函数</title> <script type="text/javascript"> <!-- //查找当前元素的前一个兄弟元素节点(注意是元素节点而不是文本节点) function prev(o){ do{ o=o.previousSibling; }while(o.nodeType!=1 && o);//如果前一个兄弟节点是元素节点则跳出循环 return o; } //查找当前元素的下一个兄弟元素节点(注意是元素节点而不是文本节点) function next(o){ do{ o=o.nextSibling; }while(o.nodeType!=1 && o);//如果下一个兄弟节点是元素节点则跳出循环 return o; } //查找元素的第一个子元素的函数 function first(o){ o=o.firstChild; return o.nodeType!=1 && o ? next(o) : o;//如果第一个子节点是元素节点,则返回,否则调用next函数,查找下一个兄弟元素 } //查找元素的最后一个子元素的函数 function last(o){ o=o.lastChild; return o.nodeType!=1 && o ? prev(o) : o;//如果最后一个子节点是元素节点,则返回,否则调用prev函数,查找前一个兄弟元素 } //--> </script> </head> <body> <div id="test"> <p>大部分的WEB开发者在大多数情况下仅仅需要遍历DOM元素而非相邻的文本节点</p> <p>所以,我们可以自己定义几个函数用于替代<b>previousSibling,nextSibling,firstChild,lastChild和parentNode</b></p> <ul> <li><a href="#">a标签1</a></li> <li><a href="#">a标签2</a></li> <li><a href="#">a标签3</a></li> <li><a href="#">a标签4</a></li> </ul> </div> <script type="text/javascript"> <!-- var obj=document.getElementById('test'); document.write("使用nextSibling返回的div元素的下一个兄弟节点,①节点类型:"+obj.nextSibling.nodeType+"②节点名称:"+obj.nextSibling.nodeName+"<br>"); document.write("使用自定义的next函数返回的div元素的下一个兄弟元素,①节点类型:"+next(obj).nodeType+"②节点名称:"+next(obj).nodeName+"<br>"); document.write("使用firstChild返回的div元素的第一个子节点,①节点类型:"+obj.firstChild.nodeType+"②节点名称:"+obj.firstChild.nodeName+"<br>"); document.write("使用自定义的first函数返回的div元素的第一个子元素,①节点类型:"+first(obj).nodeType+"②节点名称:"+first(obj).nodeName+"<br>"); document.write("使用lastChild返回的div元素的最后一个子节点,①节点类型:"+obj.lastChild.nodeType+"②节点名称:"+obj.lastChild.nodeName+"<br>"); document.write("使用自定义的last函数返回的div元素的最后一个子元素,①节点类型:"+last(obj).nodeType+"②节点名称:"+last(obj).nodeName+"<br>"); //--> </script> </body> </html>
获取表单对象的 7 种方式 多种获取表单对象的方式
[url=javascript:selall(this)]<a href="javascript:noselall(this)">全不选</a> <a href="javascript:invert(this)">反选</a> </body> </html>
鼠标移上去,显示子栏目列表 [img]http://files.jb51.net/upload/201206/20120625003249228.png[/img]
通过for...in循环语句,可以遍历出某个对象中的属性 比如,我们想要看下document对象中的所有属性名和属性值,可以使用如下所示的代码:
[u]复制代码[/u] 代码如下:
View Code <html> <head> <title>遍历document文档对象的所有属性</title> </head> <body> <script type="text/javascript"> <!-- for (var pro in document){ document.write("document."+pro+"="+document[pro]+"<br>"); } //--> </script> </body> </html>
同理,我们也可以用以上方法遍历window对象,location对象,history对象等的属性,当然,也可以用来遍历自定义对象的属性
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部