封装自己的class类,实现浏览器兼容。

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>封装自己的class类</title>
<style>
div{
width: 200px;
height: 200px;
background: pink;
margin:10px;
}
</style>
<script>
window.onload=function(){
//封装自己的class类名
function getClass(classname,id) {
//如果浏览器支持,则直接返回
if(document.getElementsByClassName){
//有id
if(id){
var eleId=document.getElementById(id);
return eleId.getElementsByClassName(classname);
}else{//没有id的情况
return document.getElementsByClassName(classname); }
}
//不支持的情况
if(id){
var eleId=document.getElementById(id);
var dom=eleId.getElementsByTagName("*");
}else{
var dom=document.getElementsByTagName("*");
} var arr=[];
for(var i=0;i<dom.length;i++){
var txtarr=dom[i].className.split(" ");
for(var j=0;j<txtarr.length;j++){
if(txtarr[j]==classname){
arr.push(dom[i]);
}
}
}
return arr;
}
//console.log(getClass("test","one").length);
//测试
/*var aa=getClass("test","one");
for(var i=0;i<aa.length;i++){
aa[i].style.backgroundColor="blue";
}*/
}
</script>
</head>
<body>
<div class="test" ></div>
<div class="demo"></div>
<div class=" demo test"></div>
<div id="one">
<div class="demo test"></div>
<div class=" test"></div>
<div class="demo test"></div>
</div>
<div></div>
</body>
</html>

第33天:封装自己的class类的更多相关文章

  1. Android RecyclerView单击、长按事件:基于OnItemTouchListener +GestureDetector标准实现(二),封装抽取成通用工具类

     Android RecyclerView单击.长按事件:基于OnItemTouchListener +GestureDetector标准实现(二),封装抽取成通用工具类 我写的附录文章2,介绍了 ...

  2. Redis操作Hash工具类封装,Redis工具类封装

    Redis操作Hash工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>> ...

  3. Redis操作字符串工具类封装,Redis工具类封装

    Redis操作字符串工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>>& ...

  4. 【Android】19.3 ContentProvider及安卓进一步封装后的相关类

    分类:C#.Android.VS2015: 创建日期:2016-03-08 一.简介 ContentProvider:内容提供程序. Android的ContentProvider与.NET框架的EF ...

  5. SpringMVC 中,当前台传入多个参数时,可将参数封装成一个bean类

    在实际业务场景中,当前台通过 url 向后台传送多个参数时,可以将参数封装成一个bean类,在bean类中对各个参数进行非空,默认值等的设置. 前台 url ,想后台传送两个参数,userName 和 ...

  6. Python_selenium封装一个浏览器引擎类

    Python_selenium封装一个浏览器引擎类 现在我们在编写一个类,叫浏览器引擎类(此例为:启动浏览器),将文件名命名为browser.py,代码下面通过更改一个字符串的值,运用if语句判断和控 ...

  7. python接口自动化(三十五)-封装与调用--流程类接口关联(详解)

    简介 流程相关的接口,主要用 session 关联,如果写成函数(如上篇),s 参数每个函数都要带,每个函数多个参数,这时候封装成类会更方便.在这里我们还是以博客园为例,带着小伙伴们实践一下. 接口封 ...

  8. 简单封装 Delphi 的 DirectX类

    var CreatorRenderer  : TCreatorRenderer; Form1: TForm1; 窗体代码: {$R *.dfm} procedure TForm1.FormCreate ...

  9. 免费IP代理池定时维护,封装通用爬虫工具类每次随机更新IP代理池跟UserAgent池,并制作简易流量爬虫

    前言 我们之前的爬虫都是模拟成浏览器后直接爬取,并没有动态设置IP代理以及UserAgent标识,本文记录免费IP代理池定时维护,封装通用爬虫工具类每次随机更新IP代理池跟UserAgent池,并制作 ...

随机推荐

  1. JavaWeb——课程管理系统(1)jsp界面---18.11.29

    add.jsp <%@page import="com.jaovo.msg.Util.ValidateUtil"%><%@page import="co ...

  2. gp与 pg 查询进程

    select now()-query_start as cost_time,* from pg_stat_activity where current_query not in ( '<IDLE ...

  3. 回顾爬虫的时候的一些小TIPS

    1 json.dumps的时候默认会用ascii 所以在写入文件的时候会需要用到的指令变为json.dumps(a,ensuer_ascii=False),这样将禁止转换为ascii 然后再写入的时候 ...

  4. 长沙优步Uber奖励政策(7.27~8.2)

    奖励前提 *必须满足当周评分4.7星及以上,且当周接单率70%及以上,才有资格获得奖励 *当周上线时间不低于7小时 *刷单和红线行为立即封号并取消当周全部奖励! *机场高速费用不参与翻倍奖励 *早高峰 ...

  5. Java:二进制(原码、反码、补码)与位运算

    一.二进制(原码.反码.补码) 二进制的最高位是符号位(“0”代表正数,“1”代表负数): Java中没有无符号数: 计算机以整数的补码进行运算: 1.  原码:将一个整数转换成二进制表示 以 int ...

  6. HTML5 离线应用程序

    离线Web应用:当客户端本地与Web应用程序的服务器没有建立连接时,也能正常在客户端本地使用该Web应用. Web应用程序的本地缓存与浏览器的网页缓存的区别 1. 本地缓存为整个Web应用程序服务,网 ...

  7. EWS3-24S05电源转换芯片DC-DC

    1. EWS3-24S05是24V转5V的DC-DC电源,输入和输出都是直流电. 2. 典型应用 3. 引脚图 4. 使用注意事项: 输入电源的要求 输入电源的要求产品的输入端必需接一个低阻抗的电压源 ...

  8. quartz 核心概念

    一.quartz 核心概念 1.scheduler是一个计划调度器容器,容器里面可以盛放众多的JobDetail和trigger,当容器启动后,里面的每个JobDetail都会根据trigger按部就 ...

  9. java 面向对象一

    一 基础部分 1.基本数据类型 Java的八种基本数据类型不支持面向对象的编程机制,不具备“对象”的特性:没有成员变量.方法可以调用.java之所以提供这八种基本数据类型,是为了照顾程序员的传统习惯. ...

  10. docker 应用场景

    内容来自知乎.先mark,后续再研究 0.无痛尝试新事物 这应该是最早让我感受到docker的便利性的使用场景了. 以前,如果想尝试新的编程语言/数据库/命令行工具,会先找找apt的源里有没有相应的包 ...