封装自己的getClassName函数

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>getClessName</title>
 </head>
 <body>

  <input type="submit" id = "sub" class="ss confirm btn" value="提交"/>

  <script>

    window.onload = function(){

        var Opt = document.getElementById(‘sub‘);

        var getClass = function(className,tagName){

            if(document.getElementsByTagName){

                var Inp = document.getElementsByTagName(tagName);
                for(var i=0; i<Inp.length; i++){

                    if((new RegExp(‘(\\s|^)‘ +className +‘(\\s|$)‘)).test(Inp[i].className)){

                        return Inp[i];
                    }

                }

            }else if(document.getElementsByClassName){
                return document.getElementsByClassName(className);
            }
        }

        //alert(getClass("confirm", "input"));
        var aa = getClass("confirm", "input");
        //alert(Inp);
        //alert(Inp);

        function getClass(className, targetName){
            var ele = [];
            var all = document.getElementsByTagName(targetName || "*");
            for(var i=0; i<all.length; i++){
                if(all[i].className.match(new RegExp(‘(\\s|^)‘+confirm+‘(\\s|$)‘))){

                    ele[ele.length] = all[i];

                }
            }
            return ele;
        }

        function getObjsByClass(tagName, className){

            if(document.getElementsByClassName){
                alert("document.getElementsByClassName");
                return document.getElementsByClassName(className);
            }else{
                var el = [];
                var _el = document.getElementsByTagName(tagName);
                for(var i=0; i<_el.length; i++){

                    if(_el[i].className.indexOf(className) > -1){
                        alert(_el[i]);
                        el[_el.length] = _el[i];
                    }
                }
                alert(el);
                return el;
            }
        }

        function addEvent(ev, type){
            var ev = ev || window.event;
            if(ev.addEventListener){

                ev.addEventListener(type, function(){
                    alert(ev.type);
                }, false);
            }else if(ev.attachEvent){

                ev.attachEvent("on" + type, function(){
                alert("ev.attachEvent");

                });
            }
        }

    /*var getClass = function (className, parentNode) {

         var node = null;
         var temps = [];
         if (parentNode != undefined) {
             node = parentNode;
         } else {
            node = document;
         }
         if(node.getElementsByTagName){
             var all = node.getElementsByTagName(‘*‘);
             for (var i = 0; i < all.length; i ++) {
              if ((new RegExp(‘(\\s|^)‘ +className +‘(\\s|$)‘)).test(all[i].className)) {
                  temps.push(all[i]);
               }
           }
             return temps;
         }else{
            if(node.getElementsByClassName){

                return document.getElementsByClassName(className);
            }
         }
     }*/

        //alert(getClass("confirm"));
        //var obj = getClass("confirm","input");
        //alert(obj);
        //alert(Opt);
        addEvent(aa, ‘click‘);

    }
  </script>
 </body>
</html>
时间: 2025-01-02 02:43:53

封装自己的getClassName函数的相关文章

事件封装(多个函数绑定一个事件,估计这样解释不对)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <!-

JS-特效 ~ 05. 缓动框架兼容封装/回掉函数/兼容透明度/层级、旋转轮播图、正则表达式、验证表单注册账号、

缓动函数中opcity  写百分值的值 JS一般不用小数运算,会照成精度丢失 元素的默*认透明度是 层级一次性赋值,不缓动 利用for-in为同一个父元素的子元素绑定属性 缓动框架兼容封装/回掉函数/兼容透明度/层级 function animate(ele,json,fn){ //先清定时器 clearInterval(ele.timer); ele.timer = setInterval(function () { //开闭原则 var bool = true; //遍历属性和值,分别单独处

封装一个Ajax工具函数

/*封装一个ajax工具函数*/ window.$ = {}; /*通过$定义一个ajax函数*/ /* * 1. type   string   请求的方式  默认是get * 2. url    string   请求地址  接口地址 * 3. async  boolean  默认的是true * 4. data   object   {}请求数据 * * 5.success function  成功回调函数 * 6.error   function  失败的回调函数 * */ $.ajax

我自己的Javascript 库,封装了一些常用函数 Kingwell.js

我自己的Javascript 库,封装了一些常用函数 Kingwell.js 博客分类: Javascript javascript 库javascript库 现在Javascript库海量,流行的也多,比如jQuery,YUI等,虽然功能强大,但也是不万能的,功能不可能涉及方方面面,自己写一个的JS库是对这些的补充,很多也比较实用,把应用到项目中中去也比较方面,这也是对工作的一些积累,也加深对知识的理解. 2012-6-20更新,添加设置Cookie,获取Cookie,删除Cookie方法.很

事件封装(多个函数绑定一个事件,预计这样解释不正确)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <!-

JS运动中的封装的部分实用函数(框架)总结

JS运动中的封装的部分实用函数(框架)总结 前段时间学习JS运动时做的很实用的几个函数,应该可以称之为小的框架了,现在总结一下.为什么不当时就总结呢?我认为所谓总结不是趁着大脑中还残留着对新知识印象的时候将其写下来,而是过了一段时间之后再回头去看,将其重新拾起,这个时候一般会有对这些新东西的新看法和新的体会,我把这个过程称为"知识的发酵".对于我来说经过 "发酵"之后的带有自己的见解和体会东西才可以称之为总结. 下面分为几个版本来说,也反映了他们的进化过程,这几个函

JS---案例:手风琴 (利用封装好的动画函数)

案例:手风琴 封装好的动画函数在common.js里面 //function getStyle(element, attr) {...} //function animate(element, json, fn) {...} 手风琴设置的是背景图吗,backgroudImage="url(image/***.jpg)"; 当鼠标进入的时候,当前的宽度变为800,其余的遍历并设置为100: 鼠标离开的时候,所有li宽度变为400 <!DOCTYPE html> <htm

使用C++11的function/bind组件封装Thread以及回调函数的使用

之前在http://www.cnblogs.com/inevermore/p/4008572.html中采用面向对象的方式,封装了Posix的线程,那里采用的是虚函数+继承的方式,用户通过重写Thread基类的run方法,传入自己的用户逻辑.   现在我们采用C++11的function,将函数作为Thread类的成员,用户只需要将function对象传入线程即可,所以Thread的声明中,应该含有一个function成员变量. 类的声明如下: #ifndef THREAD_H_ #define

原生JS封装创建多级菜单函数

手写一个使用原生JS封装的多级菜单的函数,满足以下几点需求. 子类层级不确定,可根据数据自动生成多级菜单. 操作便捷,只需传入一个HTML标签. 缺点: 需要满足特定的数据结构 废话不多说,展示代码.先展示数据代码,注意,使用此封装函数需要满足此数据结构. var data = [{ id: 1, address: "安徽", parent_id: 0 }, { id: 2, address: "江苏", parent_id: 0 }, { id: 3, addre