博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
兼容firstChild和firstElementChild
阅读量:6591 次
发布时间:2019-06-24

本文共 1462 字,大约阅读时间需要 4 分钟。

1、nextSibling和nextElementSibling

顾名思义,就是找下一个节点

nextSibling在低版本浏览器中可以顺利找到下一个元素节点,而在正常浏览器中找到的包含中间空格。

nextElementSibling恰恰相反,低版本不认识,正常浏览器顺利找到下一兄弟节点。

封装nextNode():

function nextNode(obj){
  if (!obj.nextSibling) {     return false;   }; return obj.nextElementSibling ||(obj.nextSibling.nodeType==1?obj.nextSibling:nextNode(obj.nextSiblins));}nextNode(me).style.backgroundColor="purple";

 

2、previousSibling和previouElementsSibling

找上一个兄弟节点

previousSibling低版本浏览器可以找到上一个兄弟元素节点,高版本则报错。

previouElementsSibling低版本报错,高版本可以找到上一个兄弟元素节点。

封装prevNode():

function prevNode(obj){
  if (!obj.previousSibling) {     return false;   }; return obj.previousElementSibling || (obj.previousSibling.nodeType==1?obj.previousSibling:prevNode(obj.previousSibling));}prevNode(me).style.backgroundColor="green";

 

3、firstChild和firstElementChild

找第一个子节点

firstChild在低版本浏览器中可以找到第一个子节点,在高版本浏览器中报错。

封装firstChild():

function firstNode(obj){
  if (     !obj.firstChild) {     return false;   }; return obj.firstElementChild || (obj.firstChild.nodeType==1?obj.firstChild:nextNode(obj.firstChild)) }firstNode(ul).style.backgroundColor="yellowgreen";

 

4、lastChild和lastElementChild

找最后一个子节点

lastChild在低版本中可以顺利找到,高版本报错。

function lastNode(obj){
  if (!obj.lastChild) {     return false;   }; return obj.lastElementChild || (obj.lastChild.nodeType==1?obj.lastChild:prevNode(obj.lastChild));}lastNode(ul).style.backgroundColor="blue"

 

转载于:https://www.cnblogs.com/xlj-code/p/6727594.html

你可能感兴趣的文章
spring boot 1.5.4 整合webService(十五)
查看>>
modsecurity(尚不完善)
查看>>
获取.propertys文件获取文件内容
查看>>
Redis3.0.5配置文件详解
查看>>
Know about Oracle RAC Heartbeat
查看>>
JQuery——实现Ajax应用
查看>>
前端05.js入门之BOM对象与DOM对象。
查看>>
oracle kill所有plsql developer进程
查看>>
keepalived双机热备原理及实例部署LVS+keepalived
查看>>
曲线学习PyQt5方案一
查看>>
OpenCV学习】矩阵运算和操作2
查看>>
nginx+ffmpeg搭建rtmp转播rtsp流的flash服务器
查看>>
关于在arm裸板编程时使用printf问题的解决方法
查看>>
开源人工智能技术将改变一切
查看>>
2015 上半年 JavaScript 使用统计数据
查看>>
《Python算法教程》——1.6 如果您感兴趣
查看>>
深度解析Java8 – AbstractQueuedSynchronizer的实现分析(下)
查看>>
SSH原理与运用(一):远程登录
查看>>
Spring Framework 4.2 中的新功能和增强功能
查看>>
动态代理解决网站字符集编码
查看>>