zoukankan      html  css  js  c++  java
  • 封装一个通用选择器的简单写法

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>j</title>
    </head>
    <body>
        <div class="box">
            <div class="cute">11111</div>
            <div class="hh">aaaa</div>
            <div class="hh">bbbb</div>
            <div id="test">ccccc</div>
            <p>标签名实验</p>
        </div>
    </body>

    <script>

    function $(param, obj) {
        obj = obj || document;
        //根据id名查找元素
        if (param[0] === "#")
            return document.getElementById(param.slice(1));
        // 根据指定类名查找元素
        if (param.indexOf(".") === 0)
            return getByClass(param.substring(1), obj);
        //根据标签名查找
        return obj.getElementsByTagName(param);
    }

    //类名查找元素实现方法
    function getByClass(className, obj) {
        obj = obj || document;
        if (obj.getElementsByClassName)
            return obj.getElementsByClassName(className);

        var result = [];
        var tags = obj.getElementsByTagName("*");
        for (var i = 0, len = tags.length; i < len; i++) {
            var classNames = tags[i].className.split(" "); // 获取当前遍历元素的类名
            for (var j = 0, l = classNames.length; j < l; j++) {
                if (className === classNames[j]) { // 找到所需要进行查找的一个元素
                    result.push(tags[i]);
                    break;
                }
            }
        }

        return result;
    }

      $("#test").style.background = "red";
        $(".hh")[0].style.background = "blue";
        $("p")[0].style.background = "green";

    </script>
    </html>

  • 相关阅读:
    Java学习
    Java学习
    2020年11月22日Java学习日记
    2020年11月15日Java学习日记
    2020年11月14日Java学习日记
    2020年11月12日Java学习日记
    Java 网络编程:(一)网络编程基础知识
    Java IO流:(十二)备用
    Java IO流:(十二)commons-io工具类的使用
    Java IO流:(十二)NIO&NIO2简单介绍
  • 原文地址:https://www.cnblogs.com/html-go/p/5823476.html
Copyright © 2011-2022 走看看