文档章节

getElementsByClassName

w
 wangwenya
发布于 2014/06/24 10:12
字数 196
阅读 78
收藏 0

var getElementsByClassName = function (className, tag, elm){

  if (document.getElementsByClassName) {

  getElementsByClassName = function (className, tag, elm) {

  elm = elm || document;

  var elements = elm.getElementsByClassName(className),

  nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,

  returnElements = [], current;

  for(var i=0, il=elements.length; i

  current = elements[i];

  if(!nodeName || nodeName.test(current.nodeName)) {

  returnElements.push(current);}}

  return returnElements;};}

  else if (document.evaluate) {getElementsByClassName = function (className, tag, elm) {

  tag = tag || "*";elm = elm || document;var classes = className.split(" "),classesToCheck = "",

  xhtmlNamespace = "http://www.w3.org/1999/xhtml",

  namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,

  returnElements = [],elements,node;

  for(var j=0, jl=classes.length; j

  classesToCheck += "[contains(concat( , @class , ), " + classes[j] + " )]";

  }try {elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);

  }catch (e) {elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);}

  while ((node = elements.iterateNext())) {

  returnElements.push(node);}return returnElements;};}

  else {getElementsByClassName = function (className, tag, elm) {

  tag = tag || "*";elm = elm || document;var classes = className.split(" "),classesToCheck = [],

  elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),current,returnElements = [],match;

  for(var k=0, kl=classes.length; k<KL; k+="1){classesToCheck.push(new" regexp(?(^|\\s)?="" classes[k]="" +="" ?(\\s|$)?));}<="" p="">

  for(var l=0, ll=elements.length; l

  for(var m=0, ml=classesToCheck.length; m

  match = classesToCheck[m].test(current.className);

  if (!match) {break;}}

  if (match) {returnElements.push(current); }}return returnElements;};}

  return getElementsByClassName(className, tag, elm);};

© 著作权归作者所有

共有 人打赏支持
w
粉丝 3
博文 94
码字总数 33768
作品 0
广州
私信 提问
事件监听一直报错Cannot set property 'display' of undefined

css ↓ .wechatBtn {position: relative;} .wechat {position: absolute; top: 24px; right: -1px; display: none;} js ↓ function wechatBlock (){ var wechat = document.getElementsByCl......

皇上洗碗
2016/09/30
332
0
这样为什么不能起作用?

失意的黑荆棘
2015/10/23
84
2
Html Dom getElementsByClassName

getElementsByClassName() 查找带有相同类名的所有 HTML 元素。该方法返回一个集合。注意不是数组,虽然也可以使用 [index] 方式得到其中的元素。 该集合的常用属性和方法 注意:当集合中的元...

隋茂华
2014/09/29
0
0
使用javascript通过className来获取元素

开始慢慢从JQUERY再转回到纯JS。。。 代码 //原理: 用document.getElementsByTagName('*');来获取所有元素,然后取得相同Class的元素。 function getElementsByClassName(n) { var classEl...

niunan
2010/06/19
0
0
js document.getElementsByClassName的使用介绍与自定义函数

今天在增加一个功能的时候需要用到getElementsByClassName(),getElementsByClassName但是HTML5 新增的DOM API。IE8以下不支持,那么就需要下面的方法解决了 getElementsByClassName()是HTM...

crackernet
06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

3分钟总结Mybatis别名

1.系统内置别名: 把类型全小写(resultType/paramType) 2.给某个类起别名 2.1 alias=”自定义” <typeAliases> <typeAlias type="com.bjsxt.pojo.People" alias="peo"/> </typeAli......

KingFightingAn
24分钟前
0
0
JAVA设计模式之模板方法模式和建造者模式

一、前期回顾 上一篇《Java 设计模式之工厂方法模式与抽象工厂模式》介绍了三种工厂模式,分别是工厂方法模式,简单工厂方法模式,抽象工厂模式,文中详细根据实际场景介绍了三种模式的定义,...

木木匠
今天
7
0
C中的宏的使用(宏嵌套/宏展开/可变参数宏)

基本原则: 在展开当前宏函数时,如果形参有#或##则不进行宏参数的展开,否则先展开宏参数,再展开当前宏。 #是在定义两边加上双引号 #define _TOSTR(s) #sprintf(_TOSTR(test ABC))pr...

SamXIAO
今天
4
0
SpringBoot 整合异步调用方法

1. 在 SpringBoot 主类上使用 @EnableAsync 注解,开启异步调用功能 package com.codingos.springbootdemo;import org.springframework.boot.SpringApplication;import org.springfra......

北漂的我
今天
3
0
0015-如何使用Sentry管理Hive外部表权限

1.文档编写目的 本文档主要讲述如何使用Sentry对Hive外部表权限管理,并基于以下假设: 1.操作系统版本:RedHat6.5 2.CM版本:CM 5.11.1 3.集群已启用Kerberos和Sentry 4.采用具有sudo权限的...

Hadoop实操
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部