getElementsByAttribute
作者:司徒正美 来源:Ruby's Louvre 发布时间:2009-10-27 12:13:00
标签:JQuery,选择符,getElementsByAttribute
这个可以说属性选择符的JS版,用来遴选元素是适合不过。在开始之前,我们复习一下CSS2的属性选择符,JQuery高手可以跳过。
属性选择符:
名称 | 语法 | 描述 | 例子 |
---|---|---|---|
Simple Attribute Selector | [Attr] 或者tagName[Attr] | 选择具有此属性的元素 | blockquote[title] { color: red } |
Attribute Value Selector | [Attr="value"] 或者tagName[Attr="value"] | 选出属性值精确等于给出值的元素 | h2[align="left"] { cursor: hand } |
"Begins-with" Attribute Value Selector | [Attr^="value"] 或者tagName[Attr^="value"] | 选出属性值以给出值开头的元素 | h2[align^="right"] { cursor: hand } |
"Ends-with" Attribute Value Selector | [Attr$="value"] 或者tagName[Attr$="value"] | 选出属性值以给出值结尾的元素 | div[class$="vml"]{behavior: url(#VMLRender)} |
Substring-match Attribute Value Selector | [Attr*="value"] 或者tagName[Attr*="value"] | 选出属性值包含给出值的元素 | div[class*="grid"]{float:left} |
One-Of-Many Attribute Value Selector | [Attr~="value"] 或者tagName[Attr~="value"] | 原元素的属性值为多个单词,给出值为其中一个。 | li[class~="last"]{padding-left:2em} |
Hyphen Attribute Value Selector | [Attr|="value"] 或者tagName[Attr|="value"] | 原元素的属性值等于给出值,或者以给出值加“-”开头 | span[lang|="en"]{color:green} |
反选属性值选择器 | [Attr!="value"] 或者tagName[Attr!="value"] | 非标准,jQuery中出现的 | span[class!="red"]{color:green} |
当然属性值不定要用双引号,也可以用单引号,或干脆不写。属性值可以是字母,数字,或者gb2312等编码的文字,总之,平时怎样命名变量,也应该怎样命名此属性值。如,我们可以用中文来命名变量,因此同样的事出在属性值上也没有问题。如果属性值是"#"就肯定所错,因为变量名也不能这样用。不过建议尽量用英文单词。
好了,是getElementsByAttribute的表演时间了,比网上的同名函数强大得多了。传入两个参数,第一个是字符串,必选,就是CSS2的属性选择符,由于是字符串,里面就不要加双引号与单引号了,我也懒得匹配它。第二个是元素节点,可选,从来加快查找速度,默认是document。不过自从IE8等支持querySelector与querySelectorAll后,jQuery的选择器基本只剩下半条命,也只能在IE6,IE7这些要啥没啥的非标准浏览器作威作福罢了。因此,如果检测到浏览器支持querySelectorAll,就调用该原生方法,否则就全文档遍历匹配。
最后切记,如果要使用到属性值,不要把属性值用引号引起来,直接放到等于号后面即可。放一些测试页面,让大家看看如何使用此函数。
0
投稿
猜你喜欢
- date() 获取日期,格式:2004-2-28 time() 获取时间,格式:22:24:59 now() 获取日期和时间 格式: 200
- 任何东西只要跟Google有关就总能给我们带来点儿惊喜,2008年9月2日发布的Google Chrome浏览器也不例外。Google Ch
- .asa是文件后缀名,它是Active Server Application的首字母缩写。Global.asa文件可以管理在ASP应用中两个
- xml(可扩展标记语言)看起来可能像某种w3c标准——现在没有什么实际影响,即使以后能派上用场,也是很久以后的事。但实际上,它现在已经得到了
- 如何在网页打开时显示“正在加载”之类的信息?代码及说明见下: <% Response.Buffer =
- 相信有很多人有用程序向Excel导数据的需求, 且做过. 一般导出一些文本数据是很方便的, 可选方法很多, 比如拼接文本字符串存.cvs格式
- 有四个变量影响磁带备份设备的性能,并使 SQL Server 备份及还原性能操作得以在大体上随添加更多磁带设备而提高线性比例。◆软件数据块大
- 当使用MySQL做站点的时候,肯定会有不知道的错误发生,怎么记录呢?以下是具体解决方法:class.method //建立错误日志 func
- 把昨天做的高级查询界面完善了一下,支持动态添加多个查询条件、定义逻辑关系,支持整形、浮点、字符串、日期、布尔值、自定义选择列表的录入,通过E
- <%@ Language=VBScript %><%Option Explicit %><%Dim strUR
- 各位想必都知道,onfocus="this.blur()"这条代码能消除链接时的虚线框,但你有没有想过,如果你的网页上有
- 本文给出了几个表单常用的js验证函数,有检查、\等特殊字符的,有检查是否含有空格,检查是否为Email 地址,也有检查是否是小数或负数的,检
- 内容摘要:本文介绍了使用SQL语句修改数据记录的两种方法,一是使用rs.update,二是使用conn.Execute(sql),相信对初学
- 代码如下:<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001&quo
- 3月27日,淘宝网获得了由国际权威机构G-CEM颁发的2008年度亚洲区在线客户体验大奖,这是全球互联网企业首次获得此殊荣。如何在让买家更方
- Microsoft SQL Server 7.0安全问题Microsoft Corporation【「Microsoft SQL Serve
- 两列布局的定宽自适应已经详解了,三列浮动中有两列定宽一列自适应的也详解了,那么该说说三列浮动中两列自适应一列定宽的布局了。中间定宽,左右两侧
- 这句话后面的1200是什么单位来的啊?delete from online where datediff(""s&quo
- 在某些情况下,比如自动补全(auto complete)的输入框中,需要使用keyup事件来监听键盘的输入以迅速作出回应。关键在于keyup
- JavaScript Length 字符长度函数,在很多时间我们会用length函数了,因为你得前台判断一个用户输入