/*----------------------------index.html------------------------------------*/

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="Author" content="Hehe">
  <title>Shopping list</title>
  <link rel="stylesheet" type="text/css" href="my_css.css">
</head>
  <body>
   <h1>What to buy</h1>
   <p title="a gentle reminder">Don't forgrt to buy this stuff.</p>
   <ul id="purchases">
    <li>A tin of beans</li>
    <li class="sale">Cheese</li>
    <li class="sale important">Milk</li>
   </ul>
   <script type="text/javascript" src="my_script.js"></script>
  </body>
</html>

/*------------------------my_script.js------------------------*/

function getElementsByClassName(node,classname){
  if(node.getElementsByClassName){
      return node.getElementsByClassName(classname);
  }
  else{
        var results=new Array();
        var elems=node.getElementsByTagName("*");
         for(var i=0;i<elems.length;i++){
                if(elems[i].className.indexOf(classname)!=-1){
                       results[results.length]=elems[i];
                           }
                   }
               return results;
         }
 }

var shopping=document.getElementById("purchases")
  var itsems=getElementsByClassName(shopping,"sale");
          for(var i=0;i<itsems.length;i++){
               alert(typeof itsems[i]);
}

此时页面显示俩个object的警告框。

getElementsByClassName的兼容性的更多相关文章

  1. javascript解决getElementById()的bug以及getElementsByClassName的兼容性写法

    <a name="target" href="#">链接</a> <p id="target">文字说明 ...

  2. 解决getElementsByClassName的兼容性问题

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  3. getElementsByClassName 方法兼容性封装方法二

    var getElmsByClsName = function(className, results) { results = results || []; // 判断浏览器是否支持 getEleme ...

  4. JS操作DOM对象——JS基础知识(四)

    一.JavaScript的三个重要组成部分 (1)ECMAScript(欧洲计算机制造商协会) 制定JS的规范 (2)DOM(文档对象模型)重点学习对象 处理网页内容的方法和接口 (3)BOM(浏览器 ...

  5. python+selenium自动化软件测试(第2章):WebDriver API

    2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...

  6. selenium各种定位方法(转)

    selenium使用 Xpath CSS JavaScript jQuery的定位方法 (治疗selenium各种定位不到,点击不了的并发症) 2017年07月28日 22:47:36 阅读数:369 ...

  7. 原生JavaScript支持6种方式获取元素

    一.原生JavaScript支持6种方式获取元素 document.getElementById('id'); document.getElementsByName('name'); document ...

  8. 2.32 js几种定位方法总结

    2.32 js几种定位方法总结 前言本篇总结了几种js常用的定位元素方法,并用js点击按钮,对input输入框输入文本 一.以下总结了5种js定位的方法除了id是定位到的是单个element元素对象, ...

  9. DOM扩展学习笔记

    对DOM的两个主要扩展是Selectors API(选择符API)和HTML5,还有一个不太瞩目的Element Traversal元素遍历规范为DOM添加了一些属性,另外还有一些专有扩展. 选择符A ...

随机推荐

  1. 搭建Mantis 缺陷管理系统(转)

    转自 什么是Mantis MantisBT is a free popular web-based bugtracking system (feature list). It is written i ...

  2. Vs2010工具栏显示“开始执行“按钮

    转载来源:http://blog.csdn.net/fromhj/article/details/8795047 前言 在用visual studio 2010的时候,要运行程序,可以使用 1.菜单- ...

  3. ios摇一摇截屏代码

    #import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...

  4. service里面弹出对话框

    如何在service里面弹出对话框先给一个需求:需要在service里面监听短信的接收,如果接收到短信了,弹出一个dialog来提示用户打开. 看看效果图:(直接在主桌面上弹出) service中弹出 ...

  5. CF735C 数论\平衡树叶子节点的最大深度\贪心\斐波那契\条件归一化

    http://codeforces.com/problemset/problem/735/C 题意..采用淘汰赛制..只要打输就退出比赛..而且只有两个选手打过的场数 相差不超过1才能比赛..最后问你 ...

  6. Jmeter 分布式性能测试

    作为一个纯 JAVA 的GUI应用,JMeter 对于CPU和内存的消耗还是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错 ...

  7. js:方法1. 数组

    Array.every() array.every(f); array.every(f, o); f(array[i], i, array) [1,2,3].every(function(x) { r ...

  8. 常用fix顶部1111111111111111

    如何写CSS? 1.顶部不fix,有主宽度: 2.顶部fix,无主宽度,min-width.移动端. 3.向下滑动页面时,顶部出现fix,与初始的顶部内容有区别.(常用于移动端) 4.顶部fix,有主 ...

  9. 线段树(多维+双成段更新) UVA 11992 Fast Matrix Operations

    题目传送门 题意:训练指南P207 分析:因为矩阵不超过20行,所以可以建20条线段的线段树,支持两个区间更新以及区间查询. #include <bits/stdc++.h> using ...

  10. Codeforces Round #334 (Div. 2)

    水 A - Uncowed Forces #include <bits/stdc++.h> using namespace std; typedef long long ll; const ...