博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
制定document.getElementByClassName()
阅读量:4314 次
发布时间:2019-06-06

本文共 1093 字,大约阅读时间需要 3 分钟。

制定document.getElementByClassName()

Abstract

W3C DOM有制定document.getElementByClassName(),但有候没有ID,而只有class name可抓怎?

Introduction

Blog做改造,常遇到根本有ID可抓,而只有class可抓,但很憾W3C DOM有document.getElementByClassName(),以下JavaScript可以模getElementByClassName()。

JavaScript / getElementByClassName

1
  function
  getElementsByClassName (className) {
2
    
  var
  all
  =
  document.all
  ?
  document.all : document.getElementsByTagName(
  '
  * '
  );
3     var  elements  =  new  Array();
4
    
  for
  (
  var
  e
  =
  ; e
  <
  all.length; e
  ++
  ) {
5
      
  if
  (all[e].className
  ==
  className) {
6
         elements[elements.length]
  =
  all[e];
7
        
  break
  ;
8
       }
9
     }
10
    
  return
  elements; 11
  } 12

2行

var
  all
  =
  document.all
  ?
  document.all : document.getElementsByTagName(
  '
  *
  '
  );

document.allIE4的DHTML的技,IE4之後接有支援,所以可以的利用是否有支援document.all判 是否IE,若不是IE,用W3C DOM的document.getElementByTagName('*')取代all,所以方式在IE或FireFox皆能使用。

4行 ~ 9行

for
  (
  var
  e
  =
  ; e
  <
  all.length; e
  ++
  ) {   
  if
  (all[e].className
  ==
  className) {      elements[elements.length]
  =
  all[e];     
  break
  ;    } }
  利用圈一tag一tag判其class name否符合件,找到第一符合件就跳出圈,如此就能找到第一符合class name的tag。
 

转载于:https://www.cnblogs.com/leejersey/archive/2012/11/14/2770244.html

你可能感兴趣的文章
转 sql删除重复记录
查看>>
Yum数据库错误
查看>>
HDOJ树形DP专题之考研路茫茫——空调教室
查看>>
《结对-蓝牙考勤系统-测试过程》
查看>>
PAT 1034. Head of a Gang
查看>>
微信分享
查看>>
《数据结构》第1章:绪论
查看>>
基于域名的虚拟主机(最常用)
查看>>
第八讲 shiro 整合 ssm
查看>>
Lucene
查看>>
[LeetCode] 83. Remove Duplicates from Sorted List 移除有序链表中的重复项
查看>>
CNN反卷积理解
查看>>
chrome 中firstChild老是出错
查看>>
Java 7 新的 try-with-resources 语句,自动资源释放
查看>>
封装一个函数, 查看数字在数组中是否出现过, 如果出现过就返回数字在数组中的位置,没有出现过返回-1;...
查看>>
查看用户登录情况
查看>>
双栈排序-NOIP2008T4
查看>>
C#多线程及GDI(Day 23)
查看>>
static关键字
查看>>
Oracle the network adapter could not establish the connection
查看>>