jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配

指定元素中包含 id 属性的, 如: $("span[id]") 

代码如下:

<span id="span1" name="S1">AAA</span><br/> 
<span id="span2" name="S2">BBB</span><br/> 
<span name="Sx3">CCC</span><br/> 
<span name="Sx4">DDD</span><br/> 
<div id="div1" name="Dx1">EEE</div> 
<div name="D2">FFF</div> 

指定元素中不包含 id 属性的, 如: $("span:not(span[id])") 或 $("span:not([id])") 

代码如下:

<span id="span1" name="S1">AAA</span><br/> 
<span id="span2" name="S2">BBB</span><br/> 
<span name="Sx3">CCC</span><br/> 
<span name="Sx4">DDD</span><br/> 
<div id="div1" name="Dx1">EEE</div> 
<div name="D2">FFF</div> 

包含 id 属性的, 如: $("body [id]") 

代码如下:

<span id="span1" name="S1">AAA</span><br/> 
<span id="span2" name="S2">BBB</span><br/> 
<span name="Sx3">CCC</span><br/> 
<span name="Sx4">DDD</span><br/> 
<div id="div1" name="Dx1">EEE</div> 
<div name="D2">FFF</div> 

符合元素值的, 如: $("span[name='S2']") 

代码如下:

<span id="span1" name="S1">AAA</span><br/> 
<span id="span2" name="S2">BBB</span><br/> 
<span name="Sx3">CCC</span><br/> 
<span name="Sx4">DDD</span><br/> 
<div id="div1" name="Dx1">EEE</div> 
<div name="D2">FFF</div> 

不符合元素值的, 如: $("span[name!='S2']") 

代码如下:

<span id="span1" name="S1">AAA</span><br/> 
<span id="span2" name="S2">BBB</span><br/> 
<span name="Sx3">CCC</span><br/> 
<span name="Sx4">DDD</span><br/> 
<div id="div1" name="Dx1">EEE</div> 
<div name="D2">FFF</div> 

元素值开头是?, 如: $("span[name^='S']") 

代码如下:

<span id="span1" name="S1">AAA</span><br/> 
<span id="span2" name="S2">BBB</span><br/> 
<span name="Sx3">CCC</span><br/> 
<span name="Sx4">DDD</span><br/> 
<div id="div1" name="Dx1">EEE</div> 
<div name="D2">FFF</div> 

元素值结尾是?, 如: $("html [name$='1']") 

代码如下:

<span id="span1" name="S1">AAA</span><br/> 
<span id="span2" name="S2">BBB</span><br/> 
<span name="Sx3">CCC</span><br/> 
<span name="Sx4">DDD</span><br/> 
<div id="div1" name="Dx1">EEE</div> 
<div name="D2">FFF</div> 

元素值包含?, 如: $("body [name*='x']") 

代码如下:

<span id="span1" name="S1">AAA</span><br/> 
<span id="span2" name="S2">BBB</span><br/> 
<span name="Sx3">CCC</span><br/> 
<span name="Sx4">DDD</span><br/> 
<div id="div1" name="Dx1">EEE</div> 
<div name="D2">FFF</div> 

多个属性条件, 如(有 id 且 name 开始是 "D"): $("body [id][name^='D']") 

代码如下:

<span id="span1" name="S1">AAA</span><br/> 
<span id="span2" name="S2">BBB</span><br/> 
<span name="Sx3">CCC</span><br/> 
<span name="Sx4">DDD</span><br/> 
<div id="div1" name="Dx1">EEE</div> 
<div name="D2">FFF</div> 

查找包含 "AB" 的 span: $("span:contains('AB')") 

代码如下:

<span>ABC</span><br/> 
<span><b>ABC</b></span><br/> 
<span></span> 
<div> 
<span>ABC</span><br/> 
<span><b>ABC</b></span><br/> 
<span></span> 
</div> 

从 div 中查找包含 "AB" 的 span: $("div span:contains('AB')") 

代码如下:

<span>ABC</span><br/> 
<span><b>ABC</b></span><br/> 
<span></span> 
<div> 
<span>ABC</span><br/> 
<span><b>ABC</b></span><br/> 
<span></span> 
</div> 

查找包含 的 span: $("span:has('b')") 

代码如下:

<span>ABC</span><br/> 
<span><b>ABC</b></span><br/> 
<span></span> 
<div> 
<span>ABC</span><br/> 
<span><b>ABC</b></span><br/> 
<span></span> 
</div> 

查找空的 span: $("span:empty") 

代码如下:

<span>ABC</span><br/> 
<pan><b>ABC</b></span><br/> 
<span></span> 
<div> 
<span>ABC</span><br/> 
<span><b>ABC</b></span><br/> 
<span></span> 
</div> 

查找非空的(也就是作为父元素的) span: $("span:parent") 

代码如下:

<span>ABC</span><br/> 
<span><b>ABC</b></span><br/> 
<span></span> 
<div> 
<span>ABC</span><br/> 
<span><b>ABC</b></span><br/> 
<span></span> 
</div> 

:hidden 与 :visible 分别对应隐藏与显示的元素; 下例让已显示的变红, 让隐藏的显示为灰色. 

代码如下:

<!doctype html> 
<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script> 
</head> 
<body> 
<div>111</div> 
<div>222</div> 
<div style="display:none">333</div> 
<div style="display:none">444</div> 
</body> 
</html> 
<script> 
$("div:visible").css("color", "red"); 
$("div:hidden").css("display", "").css("color", "silver"); 
</script> 

表单匹配:  :input 匹配:  <input ... />  <select></select>  <textarea></textarea>  <button></button>  :text 匹配 <input type="text" />  :password 匹配 <input type="password" />  :radio 匹配 <input type="radio" />  :checkbox 匹配 <input type="checkbox" />  :submit 匹配 <input type="submit" />  :reset 匹配 <input type="reset" />  :image 匹配 <input type="image" />  :file 匹配 <input type="" />  :button 匹配 <button></button>  :enabled 匹配 所有可用的 input 元素  :disabled 匹配 所有不可用的 input 元素  :checked 匹配 所有选中的被选中复选框、单选框  :selected 匹配 所有选中的 option 元素

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WD学习记录

Leetcode ZigZag Conversion

The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of ...

10020
来自专栏码匠的流水账

聊聊flink的EventTime

flink-streaming-java_2.11-1.7.0-sources.jar!/org/apache/flink/streaming/api/func...

40420
来自专栏算法修养

CodeForces 156B Suspects(枚举)

B. Suspects time limit per test 2 seconds memory limit per test 256 megaby...

34550
来自专栏机器学习入门

LWC 59:728. Self Dividing Numbers

LWC 59:728. Self Dividing Numbers 传送门:728. Self Dividing Numbers Problem: A sel...

209100
来自专栏贾老师の博客

【笔记】ejoy2d —— shader

24330
来自专栏calmound

UVA 10604 Chemical Reaction(六维dp数组)

题意:有六种不同的试剂,放于试管中,不同的试剂融合其产生的热量不同,且生成的新试剂也不相同,问最后最低温度是多少。 分析:由于只有六种试剂,所以开辟一个六维dp...

38170
来自专栏*坤的Blog

代码数字

12430
来自专栏菩提树下的杨过

As3.0中的位图(Bitmap/BitmapData)编程

As3.0中的位图(Bitmap/BitmapData)编程功能十分丰富,下面这些是官方文档上的基本示例: 1.位图使用(模糊)滤镜 //创建一个矩形区域的Bi...

40960
来自专栏陈满iOS

iOS·枚举变量在 未赋值/赋值为空 的情况下,默认值为0(即第一个枚举类型)

在调用的时候,代码欲从VC的字典数组 self.resource 中获取某字典 self.resource[indexPath.row] 并取出 type 的键...

25310
来自专栏高爽的专栏

POI读取Excel常见问题

       最近在做一个将excel导入到报表中的功能,使用了POI来实现,发现POI使用有诸多不便之处,先记录下来,以后可能考虑使用Openxml。    ...

28300

扫码关注云+社区

领取腾讯云代金券