zoukankan      html  css  js  c++  java
  • 兼容firstChild和firstElementChild

    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"
  • 相关阅读:
    SpringMVC访问静态资源
    tomcat 在linux下的关闭问题
    Mysql中MyISAM、InnoDB两种表类型的区别
    大数据——数据库优化
    for循环 java.lang.OutOfMemoryError: Java heap space
    Tomcat内存溢出的三种情况及解决办法分析
    浅谈eclipse生成的.classpath文件(转)
    深入理解java异常处理机制
    漫步ASP.NET MVC的处理管线
    用 javascript 获取当页面上鼠标(光标)位置
  • 原文地址:https://www.cnblogs.com/xlj-code/p/6727594.html
Copyright © 2011-2022 走看看