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"
  • 相关阅读:
    [VBA]根据身份证号码计算年龄的Excel函数
    [VBA]发布一个计算桩号之差的Excel自定义函数(VBA)
    [VBA]用一个简单例子说明如何在Excel中自定义函数
    元素定位工具:Chrome浏览器ChroPath插件
    68 个 Python 内置函数
    Python错误重试
    jenkins 中展示漂亮的 HTML 测试报告
    python解决接口数据使用了RSA加密和签名
    Python装饰器用法
    Pycharm中文版教程
  • 原文地址:https://www.cnblogs.com/xlj-code/p/6727594.html
Copyright © 2011-2022 走看看