`
zexombie
  • 浏览: 21884 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

javascript function -- getElementsByAttribute()

阅读更多
i modified a version of the javascript function getElementsByAttribute(),it used like "getElementsByTagName()",copy these code below to your html page can see the effect.


<head>
<script>
function getElementByAttribute(aAttribute,aValue,abody){
        var Elements=[],
            sfunc='return Element.'+aAttribute+'=="'+aValue+'"?true:false;';
        SearchElement( !!abody?abody:document.body );
        return Elements;
        function ElementVerifier(ele){
            Element=ele;
            if(Element.nodeName=='#text') return false;
            return eval('Element.'+aAttribute+'=="'+aValue+'"?true:false;');
        }
        function SearchElement(ele){ 
            if(!ele) return;
            if(ElementVerifier(ele)) Elements.push(ele);
            SearchElement(ele.firstChild);
            SearchElement(ele.nextSibling);
        }
        
    }
    
    function test(){ 
        var foundElements=getElementByAttribute('style.width','100px');
        alert(foundElements.length);

       foundElements=getElementByAttribute('tagName','DIV',document.body);
        alert(foundElements.length);

        foundElements=getElementByAttribute('className','test-');
        alert(foundElements.length);        
    }
    
</script>
<style>.test{}</style>
</head>
<body onload="test();">
  <div style="width:100px">Test</div>
<div style="width:100px">Test</div>
<div class="test">Test</div>
</body>


注:这是我优化了一个外国人的方法,javascript只有三种getElemnet方法(getElemntById,getElemntsByName,getElementsByTagName),但有时候我们的需求更多所以就自己编写了一些方法,就比如这个getElemntsByAttribute,按属性名来查找指定范围内的元素。但是速度一般,找了很多类似的方法,速度都大同小异没有什么突破。如果大家有好的想法可以和我分享!
0
0
分享到:
评论

相关推荐

    JavaScript教程--从入门到精通(PPT精简版)

    JavaScript 教程--从入门到精通(PPT 精简版) 本节课程为初学者提供了 JavaScript 的基本概念、特点、优点和编程技术,旨在帮助学习者快速掌握 JavaScript 的基础知识和编程技能。 一、JavaScript 概述 JavaScript...

    JavaScript 学习 - 提高篇

    ### JavaScript 学习 - 提高篇 #### 一、JavaScript 中的对象 在 JavaScript 中,对象是一种非常基础且重要的数据类型,它可以被视为一组无序的数据集合,这些数据通过键值对(key-value pairs)的形式存储。这与 ...

    cascade-function-.rar_cascade

    总之,"cascade-function-.rar_cascade" 文件包提供了一个基于Java脚本的省市级联功能实现,利用Dreamweaver作为开发工具,结合前端JavaScript和后端Java服务,实现用户友好且高效的地址选择功能。通过理解这种功能...

    廖雪峰-JavaScript教程-PDF版

    ### 廖雪峰-JavaScript教程-PDF版 #### JavaScript的重要性及发展历程 JavaScript作为世界上最流行的脚本语言之一,在Web开发领域占据着举足轻重的地位。无论是个人开发者还是大型企业,都离不开JavaScript的支持...

    JavaScript教程--从入门到精通.pdf

    ### JavaScript教程知识点解析 #### 一、JavaScript语言概况 JavaScript是一种由Netscape公司在1995年开发的脚本语言,它介于Java与HTML之间,是一种基于对象的事件驱动编程语言。JavaScript的设计初衷是为了简化...

    JavaScript教程--从入门到精通

    ### JavaScript教程——从入门到精通:对象基础 #### 前言 JavaScript 是一种基于对象的语言,尽管它不具备像抽象、继承和重载这样的面向对象编程(OOP)特性,但仍然能够通过创建自定义对象来扩展其功能。本文将...

    JavaScript函数-深入解析与使用指南(很详细)

    ### JavaScript函数-深入解析与使用指南 #### 一、JavaScript函数的基本原理 JavaScript函数是一种能够封装特定任务的代码块,可以被重复调用以执行这些任务。这些函数可以通过接收参数来处理输入数据,并且通常会...

    Javascript教程--从入门到精通【完整版】.pdf

    - JavaScript函数可以定义使用`function`关键字,例如`function Scroll(){}`。 - 控制流语句如`if`、`for`、`while`、`break`、`continue`可以控制代码的执行流程。 - 函数中可以使用`return`语句返回值,`return...

    Javascript教程--从入门到精通【完整版】

    ### JavaScript教程——从入门到精通 #### 一、JavaScript概览及重要性 随着互联网技术的迅速发展,人们的工作和生活方式发生了翻天覆地的变化。在这个互联互通的时代,如何有效地利用互联网资源成为了一个重要的...

    Javascript Obfuscator代码混淆

    JavaScript Obfuscator是一种工具,主要用于保护JavaScript代码,通过将源代码转换为难以理解的形式,以防止未经授权的用户查看、修改或盗窃代码。在Web开发中,尤其对于那些包含商业逻辑或者敏感信息的JavaScript...

    serverless-aliyun-function-compute:无服务器阿里云功能计算插件–向无服务器框架添加阿里云功能支持

    阿里云功能计算无服务器插件此插件可在无服务器框架内启用Aliyun Function Compute支持。入门先决条件使用插件的Node.jsv8...─ package.json└── serverless.yml在您的服务中安装serverless-aliyun-function-compute

    JavaScript-xml-成绩管理系统

    JavaScript-XML成绩管理系统是一种基于Web的应用程序,它利用JavaScript语言和XML(可扩展标记语言)进行数据存储和处理,实现对学生成绩的有效管理。在这个系统中,XML用于结构化地存储成绩数据,而JavaScript则...

    javascript经典特效---扫雷程序.rar

    javascript经典特效---扫雷程序.rar javascript经典特效---扫雷程序.rar javascript经典特效---扫雷程序.rar

    JavaScript-JavaScript语法集锦

    ### JavaScript 语法集锦知识点详解 #### 一、概述 JavaScript 是一种广泛应用于网页开发的脚本语言,它能够使网页具有动态交互功能。本文档将详细介绍一系列常用的 JavaScript 语法和方法,帮助开发者更好地理解和...

    JavaScript-简单计算器

    在这个“JavaScript-简单计算器”项目中,我们将会探讨如何利用JavaScript、HTML和CSS创建一个基本的计算工具。 首先,HTML(HyperText Markup Language)是网页内容的结构标准,它定义了页面的布局和元素。在这个...

    javascript经典特效---带彩色边框的图片.rar

    例如,`$(selector).hover(function() {}, function() {})`用于实现悬停事件,`$(selector).addClass('className')`和`$(selector).removeClass('className')`来切换CSS类。 6. **动画效果**:JavaScript还可以通过...

    javascript经典特效---按钮上的说明文字.rar

    在JavaScript的世界里,实现按钮上的说明文字是一种常见的交互设计,它可以增强用户体验,提供更清晰的操作指导。本资源“javascript经典特效---按钮上的说明文字.rar”包含一个名为“按钮上的说明文字.htm”的文件...

    function-body-regex:一个正则表达式来撕掉函数体

    函数体正则表达式 function-body-regex 是用来撕掉函数体的正则表达式。例子 var regex = require ( 'function-body-regex' ) ;var fn = function ( ) { console . log ( 'this is function body.' ) ; return true ...

    Javascript-Cheat-Sheet.pdf

    JavaScript 是一种广泛用于网页开发的脚本语言,被誉为“网络的语言”。这份初学者JavaScript速查表涵盖了语言的基础知识,包括变量、数组、运算符、函数、循环、条件语句、字符串、正则表达式、数字与数学操作、...

    javascript经典特效---下拉式导航菜单.rar

    本资源"javascript经典特效---下拉式导航菜单.rar"主要探讨了如何利用JavaScript来创建这种效果。 首先,我们需要理解下拉式导航菜单的基本结构。通常,它由HTML的`&lt;ul&gt;`和`&lt;li&gt;`元素构建,其中`&lt;li&gt;`元素内嵌套另...

Global site tag (gtag.js) - Google Analytics