javascript DOM 遍历

javascript DOM 遍历

以下一系列的辅助函数可以帮助您,他们能取代标准的previousSibling,nextSibling,firstChild,lastChild,parentNode;

JavaScript代码
  1. //————————DOM?遍历,如果元素没找到则返回null———————–// ??
  2. ????//—查找相关元素的前一个兄弟元素—// ??
  3. ????function?prev(elem){ ??
  4. ????????do{ ??
  5. ????????????elem=elem.previousSibling; ??
  6. ????????}while(elem&&elem.nodeType!=1); ??
  7. ????????return?elem; ??
  8. ????} ??
  9. ????//—查找相关元素的下一个兄弟元素—// ??
  10. ????function?next(elem){ ??
  11. ????????do{ ??
  12. ????????????elem=elem.nextSibling; ??
  13. ????????}while(elem&&elem.nodeType!=1); ??
  14. ????????return?elem; ??
  15. ????} ??
  16. ????//—查找第一个子元素的函数—// ??
  17. ????function?first(elem){ ??
  18. ????????elem=elem.firstChild; ??
  19. ????????return?elem?&&?elem.nodeType!=1??next(elem):elem; ??
  20. ????} ??
  21. ????//—查找最后一个子元素的函数—// ??
  22. ????function?last(elem){ ??
  23. ????????elem=elem.lastChild; ??
  24. ????????return?elem?&&?elem.nodeType!=1??prev(elem):elem; ??
  25. ????} ??
  26. ????//—查找父级元素的函数—// ??
  27. ????//num是父级元素的级次,parent(elem,2)等价于parent(parent(elem)) ??
  28. ????function?parent(elem,num){ ??
  29. ????????num=num||1; ??
  30. ????????for(var?i=0;?i<num;?i++){ ??
  31. ????????????if(elem!=null){ ??
  32. ????????????????elem=elem.parentNode; ??
  33. ????????????} ??
  34. ????????} ??
  35. ????????return?elem; ??
  36. ????}??

调用案例:first(document.getElementById(“everywhere”)).style.backgroundColor=”#ff0000″;

以上是《精通Javascript》提供

赞(0) 打赏
未经允许不得转载:WEB前端开发 » javascript DOM 遍历

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏