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,按属性名来查找指定范围内的元素。但是速度一般,找了很多类似的方法,速度都大同小异没有什么突破。如果大家有好的想法可以和我分享!
分享到:
相关推荐
《前端项目:深入理解function-plot》 在前端开发领域,可视化工具的使用越来越广泛,它们可以帮助我们更好地理解和展示数据。function-plot就是一个基于d3.js库的2D函数绘图器,它提供了简单易用的接口,让我们...
javascript4-2 javascript4-2 javascript4-2 javascript4-2 javascript4-2
高性能JavaScript编程-高清-带书签.pdf高性能JavaScript编程-高清-带书签.pdf高性能JavaScript编程-高清-带书签.pdf高性能JavaScript编程-高清-带书签.pdf
目前仅有的讲JavaScript的测试驱动开发的书,英文版,Amazon书评4星级的好书。
节点红色贡献功能节点红色功能节点,具有从npm安装和使用软件包的能力相容性节点红色版本> 1.0安装从您的节点红色目录npm install node-red-contrib-function-npm用法function-npm节点的行为类似于普通功能节点,...
JavaScript 教程--从入门到精通(PPT 精简版) 本节课程为初学者提供了 JavaScript 的基本概念、特点、优点和编程技术,旨在帮助学习者快速掌握 JavaScript 的基础知识和编程技能。 一、JavaScript 概述 JavaScript...
《深入解析org.mozilla.javascript-1.7.2.jar》 在Java开发中,JavaScript引擎的使用日益广泛,其中Mozilla的Rhino引擎是备受开发者青睐的一款。本文将围绕"org.mozilla.javascript-1.7.2.jar"这个资源包,详细讲解...
总之,"cascade-function-.rar_cascade" 文件包提供了一个基于Java脚本的省市级联功能实现,利用Dreamweaver作为开发工具,结合前端JavaScript和后端Java服务,实现用户友好且高效的地址选择功能。通过理解这种功能...
### 廖雪峰-JavaScript教程-PDF版 #### JavaScript的重要性及发展历程 JavaScript作为世界上最流行的脚本语言之一,在Web开发领域占据着举足轻重的地位。无论是个人开发者还是大型企业,都离不开JavaScript的支持...
### JavaScript教程知识点解析 #### 一、JavaScript语言概况 JavaScript是一种由Netscape公司在1995年开发的脚本语言,它介于Java与HTML之间,是一种基于对象的事件驱动编程语言。JavaScript的设计初衷是为了简化...
### JavaScript教程——从入门到精通:对象基础 #### 前言 JavaScript 是一种基于对象的语言,尽管它不具备像抽象、继承和重载这样的面向对象编程(OOP)特性,但仍然能够通过创建自定义对象来扩展其功能。本文将...
### JavaScript函数-深入解析与使用指南 #### 一、JavaScript函数的基本原理 JavaScript函数是一种能够封装特定任务的代码块,可以被重复调用以执行这些任务。这些函数可以通过接收参数来处理输入数据,并且通常会...
And you’ll learn how to capitalize on trends like server-side JavaScript and NoSQL data stores, as well as new frameworks that make JavaScript more manageable and testable as a first-class language....
JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它主要负责实现客户端的交互和动态效果。在JavaScript中,函数和对象是两个核心概念,它们是编写高效代码的基础。 **函数**是JavaScript中可重用的代码块...
JavaScript-function-base函数基础.gif Javascript-operational-character运算符.gif JavaScript-process-statement流程控制.gif JavaScript-regular-expressions正则表达式.gif JavaScript-string-function字符串...
JavaScript Obfuscator是一种工具,主要用于保护JavaScript代码,通过将源代码转换为难以理解的形式,以防止未经授权的用户查看、修改或盗窃代码。在Web开发中,尤其对于那些包含商业逻辑或者敏感信息的JavaScript...
比较全面和严谨的且包含很多中文的部分,打开后请点击: 开始看 Enter>> 进入JavaScript目录
jssha256 is a compact JavaScript implementation of the SHA256 secure hash function.
开源库“rehype-minify-javascript-script”就是为了解决这个问题而诞生的。它是一个用于JavaScript代码压缩的插件,专门针对HTML中的`<script>`标签内联脚本进行优化。这个库基于rehype,一个用于转换HTML的统一Ast...