zoukankan      html  css  js  c++  java
  • About getByClass

    不能获取class为多个的情况

    function getByClass(parent,cls){
        var res=[];
        var ele=parent.getElementsByTagName("*");
        for(var i=0;i<ele.length;i++){
            if(ele[i].className==cls){
                res.push(ele[i]);
            }
        }
        return res;
    }

     把除字母、数字、下划线的其它字符都当成是边界,当class为像abc-test时可能获取不准确

    function getByClass(parent,cls){
        var res=[];
        var reg=new RegExp("\b"+cls+"\b",i);
        var ele=parent.getElementsByTagName("*");
        for(var i=0;i<ele.length;i++){
            if(reg.test(ele[i].className)){
                res.push(ele[i]);
            }
        }
        return res;
    }

    有空格

    function getByClass(parent,cls){
        var res=[];
        var reg=new RegExp(" "+cls+" ",i);
        var ele=parent.getElementsByTagName("*");
        for(var i=0;i<ele.length;i++){
            if(reg.test(" "+ele[i].className+" ")){
                res.push(ele[i]);
            }
        }
        return res;
    }

    空格使用正则来处理

    function getByClass(parent,cls){
        var res=[];
        var reg=new RegExp('(^|\s)'+cls+'($|\s)','i');
        var ele=parent.getElementsByTagName("*");
        for(var i=0;i<ele.length;i++){
            if(reg.test(ele[i].className)){
                res.push(ele[i]);
            }
        }
        return res;
    }

    结合getElementsByClassName()

    function getByClass(parent,cls){
        if(parent.getElementsByClassName){
            return parent.getElementsByClassName(cls);
        }
        else{
            var res=[];
            var reg=new RegExp(" "+cls+" ","i");
            var ele=parent.getElementsByTagName("*");
            for(var i=0;i<ele.length;i++){
                if(reg.test(" "+ele[i].className+" ")){
                    res.push(ele[i]);
                }
            }
            return res;
        }
    }
  • 相关阅读:
    Oracle数据库
    Python-aiohttp百万并发
    Sentry的安装搭建与使用
    traceroute命令初探
    Python中断言与异常的区别
    二十三种设计模式及其python实现
    Celery
    SQLAlchemy
    python里使用reduce()函数
    python实现栈
  • 原文地址:https://www.cnblogs.com/jiujiaoyangkang/p/4971975.html
Copyright © 2011-2022 走看看