getElementByClassName

2010-07-16  来源:本站原创  分类:Web  人气:248 

/* Get a list of objects under CSSNAME
*/
function getElementByClassName(name,obj){
        checkNode(obj,name.toUpperCase(),arr=new Array());
        return arr;
}
/* Internal method is used to recursively acquire    A list of objects
*/
function checkNode(node,cname,arr){
        if(node.hasChildNodes()){
                var obj=node.childNodes;
                for(var i=0;i<obj.length;checkNode(obj[i],cname,arr),i++);
        }

        try{
                if(node.className!=null){
                        var cnames=node.className.split(' ');
                        for(var i=0;i<cnames.length;(cnames[i].toUpperCase()==cname)?arr.push(node):null,i++) ;
                }
        }catch(err){}
}
<HTML>
<HEAD>
<TITLE>getElementByClassName</TITLE>
<style>
.fs{
        border:1px solid red;
        width:200px;
        height:200px;
}
</style>
<script>
function get(){
        /*  Test
        */
        var s=document.getElementById('FF');
        var obj=getElementByClassName('a',s);
        //var obj=getElementByClassName('a',document);// Carried out on all the  

        for(var i=0;i<obj.length;i++){
                obj[i].className+=' fs';
        }
}
</script>
</HEAD>

<BODY>
<a>get</a>
<div></div>
<div><div></div><div></div><div><div><div><span><hr /></span></div></div></div></div>

</BODY>
</HTML>
相关文章
  • getElementByClassName 2010-07-16

    /* Get a list of objects under CSSNAME */ function getElementByClassName(name,obj){ checkNode(obj,name.toUpperCase(),arr=new Array()); return arr; } /* Internal method is used to recursively acquire A list of objects */ function checkNode(node,cname,

  • CSS selectors priority weight 2010-06-11

    <style> a ( border-bottom: 0px; color: # 5DB0E6; ) a: focus ( outline: 1px dotted # eee; ) a: active ( outline: 0px; ) a: hover ( color: # 7bc4f4; ) body # jq-interior ( background-image: url (http://static.jquery.com/files/rocker/images/bg-interior

  • HTML5 JavaScript API. What's new? 2011-01-12

    HTML5 has a lot of new features. There's new HTML, CSS and, of course, JavaScript. Officially HTML5 specification and implementation won't be ready until 2022. Personally I don't believe in this. Majority of JavaScript features described further are

  • js获取和设置属性的方法 2013-12-20

    本篇文章主要是对js获取和设置属性的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 function square(num){ var total = num*num;//局部变量 return total; } var total = 50;//全局变量 var number = square(20); alert(total);//结果为50 function square(num){ total = num*num;//全局变量 return total; } var tot

  • jQuery最佳实践完整篇 2014-09-20

    那篇文章是一篇入门教程,从设计思想的角度,讲解"怎么使用jQuery".今天的文章则是更进一步,讲解"如何用好jQuery". 上周,我整理了<jQuery设计思想>. 那篇文章是一篇入门教程,从设计思想的角度,讲解"怎么使用jQuery".今天的文章则是更进一步,讲解"如何用好jQuery". 我主要参考了Addy Osmani的PPT<提高jQuery性能的诀窍>(jQuery Proven Per

  • jQuery最佳实践 2014-09-29

    上周,我整理了<jQuery设计思想>. 那篇文章是一篇入门教程,从设计思想的角度,讲解"怎么使用jQuery".今天的文章则是更进一步,讲解"如何用好jQuery". 我主要参考了Addy Osmani的PPT<提高jQuery性能的诀窍>(jQuery Proven Performance Tips And Tricks).他是jQuery开发团队的成员,具有一定的权威性,提出的结论都有测试数据支持,非常有价值. ============

  • javascript学习(一)构建自己的JS库 2014-10-24

    库是一个饱受争议的热门话题.一种观点认为它是一种非常棒的工具,是任何开发者都不可或缺的:另一种观点则认为在不理解库的内部工作原理的情况下对库形成依赖,会助长懒惰的风气从而导致开发者素质下降 前言 库是一个饱受争议的热门话题.一种观点认为它是一种非常棒的工具,是任何开发者都不可或缺的:另一种观点则认为在不理解库的内部工作原理的情况下对库形成依赖,会助长懒惰的风气从而导致开发者素质下降.但是不管怎么样,好像每个人都赞同编写自己的库,况且把自己日常用到的东西合并到一起本身就是一件有意义的事情. 下面我

  • jquery要怎么写才能速度最快? 2012-03-16

    很久没有关注jQuery了,最近重新看了一下,看到一些不错的文章,转来坐一下笔记. 其内容和一些新提供的方法还是很多有值得学习的地方. 1. 使用最新版本的jQuery jQuery的版本更新很快,你应该总是使用最新的版本.因为新版本会改进性能,还有很多新功能. 下面就来看看,不同版本的jQuery性能差异有多大.这里是三条最常见的jQuery选择语句: $('.elem') $('.elem', context) context.find('.elem') 我们用1.4.2.1.4.4.1.6

  • jquery要怎么写才能速度最快?(转) 2012-03-16

    很久没有关注jQuery了,最近重新看了一下,看到一些不错的文章,转来坐一下笔记. 其内容和一些新提供的方法还是很多有值得学习的地方. 1. 使用最新版本的jQuery jQuery的版本更新很快,你应该总是使用最新的版本.因为新版本会改进性能,还有很多新功能. 下面就来看看,不同版本的jQuery性能差异有多大.这里是三条最常见的jQuery选择语句: $('.elem') $('.elem', context) context.find('.elem') 我们用1.4.2.1.4.4.1.6

  • 最新的HTML,CSS和JS的开发技术 2013-03-06

    This article first appeared in issue 234 of .net magazine – the world's best-selling magazine for web designers and developers. A technique, at its core, is a way to carry out a task and, being frontend developers and designers, we have a lot of task

  • ​javaScript元素选择器 2014-12-30

    JS元素选择器 根据id:getElemenetById("#id"); //返回NodeList对象,index可以选取第几个元素 根据name:getElememtsByName("name")[index]; 根据标签名:getElemenetsByTagName("tagname")[index]; 通过CSS类选择:getElementByClassName("cssClassName");类标识符之间用空格隔开,包