jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结


Posted in Javascript onDecember 24, 2015

这两天在做一个专题的时候遇到了一个通配符的问题

//弹层操作
$(function(){
 //视频播放
 $("a[href^='#video']").each(function(index, element) {
 $(this).click(function(){
 $(".popDiv,#videoBox1").show();
 });
 });
 //图片
 $(".imgs a:not([href^='#video'])").each(function(){
 $(this).children("img").click(function(){
 var src=$(this).attr("attr");
 //alert(src);
 $("#picBox img").attr("src","images/" + src);
 $(".popDiv,#picBox").show();
 $("#picBox img").animate({opacity:'1'},500)
 });
 });
 $(".close").click(function(){
 $(".popDiv,.popBox").hide();
 $(".box").css("margin","0 0 0 100%");
 $("#picBox img").css({opacity:'0'},1000)
 });
 })

问题已解决!有这样的问题,可以参考下面的详细用法:

1.选择器

(1)通配符:

$("input[id^='code']");//id属性以code开始的所有input标签
$("input[id$='code']");//id属性以code结束的所有input标签
$("input[id*='code']");//id属性包含code的所有input标签
$("input[name^='code']");//name属性以code开始的所有input标签
$("input[name$='code']");//name属性以code结束的所有input标签
$("input[name*='code']");//name属性包含code的所有input标签
$("input[name*='code']").each(fuction(){
  var sum=0;
if($(this).val()!=""){
 sum=parseInt(sum)+parseInt($(this).val());
}
$("#").text(sum);
})

(2)根据索引选择

$("tbody tr:even"); //选择索引为偶数的所有tr标签
$("tbody tr:odd"); //选择索引为奇数的所有tr标签

(3)获得jqueryObj下一级节点的input个数

jqueryObj.children("input").length;

(4)获得class为main的标签的子节点下所有标签

$(".main > a");

(5)选择紧邻标签

jqueryObj.next("div");//获取jqueryObj标签的后面紧邻的一个div,nextAll获取所有

2.筛选器

//not
$("#code input:not([id^='code'])");//id为code标签内不包含id以code开始的所有input标签

3.事件

//处理文本框上的键盘操作
jqueryObj.keyup(function(event){
var keyCode = event.which;//获取当前按下键盘的键值,回车键为13
}

4.工具函数

$('#someField').val($.trim($('#someField').val()));//消除空格,语法:$.trim(value)

ps:jQuery选择器总结

jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 

$("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素

$("div")           选择所有的div标签元素,返回div元素数组

$(".myClass")      选择使用myClass类的css的所有元素

$("*")             选择文档中的所有的元素,可以运用多种的选择方式进行联合选择:例如$("#myELement,div,.myclass")

层叠选择器:

$("form input")         选择所有的form元素中的input元素
$("#main > *")          选择id值为main的所有的子元素
$("label + input")     选择所有的label元素的下一个input元素节点,经测试选择器返回的是label标签后面直接跟一个input标签的所有input标签元素
$("#prev ~ div")       同胞选择器,该选择器返回的为id为prev的标签元素的所有的属于同一个父元素的div标签

基本过滤选择器:

$("tr:first")               选择所有tr元素的第一个
$("tr:last")                选择所有tr元素的最后一个
$("input:not(:checked) + span")   

过滤掉:checked的选择器的所有的input元素 

$("tr:even")               选择所有的tr元素的第0,2,4... ...个元素(注意:因为所选择的多个元素时为数组,所以序号是从0开始)  
$("tr:odd")                选择所有的tr元素的第1,3,5... ...个元素
$("td:eq(2)")             选择所有的td元素中序号为2的那个td元素
$("td:gt(4)")             选择td元素中序号大于4的所有td元素
$("td:ll(4)")              选择td元素中序号小于4的所有的td元素
$(":header")
$("div:animated")

内容过滤选择器: 

$("div:contains('John')") 选择所有div中含有John文本的元素
$("td:empty")           选择所有的为空(也不包括文本节点)的td元素的数组
$("div:has(p)")        选择所有含有p标签的div元素
$("td:parent")          选择所有的以td为父节点的元素数组

可视化过滤选择器: 

$("div:hidden")        选择所有的被hidden的div元素
$("div:visible")        选择所有的可视化的div元素

属性过滤选择器:

$("div[id]")           选择所有含有id属性的div元素
$("input[name='newsletter']")    选择所有的name属性等于'newsletter'的input元素
$("input[name!='newsletter']") 选择所有的name属性不等于'newsletter'的input元素
$("input[name^='news']")         选择所有的name属性以'news'开头的input元素
$("input[name$='news']")         选择所有的name属性以'news'结尾的input元素
$("input[name*='man']")          选择所有的name属性包含'news'的input元素
$("input[id][name$='man']")    可以使用多个属性进行联合选择,该选择器是得到所有的含有id属性并且那么属性以man结尾的元素

子元素过滤选择器:

$("ul li:nth-child(2)"),$("ul li:nth-child(odd)"),$("ul li:nth-child(3n + 1)") 
  $("div span:first-child")          返回所有的div元素的第一个子节点的数组
$("div span:last-child")           返回所有的div元素的最后一个节点的数组
$("div button:only-child")       返回所有的div中只有唯一一个子节点的所有子节点的数组

表单元素选择器: 

$(":input")                  选择所有的表单输入元素,包括input, textarea, select 和 button 

$(":text")                     选择所有的text input元素
$(":password")           选择所有的password input元素
$(":radio")                   选择所有的radio input元素
$(":checkbox")            选择所有的checkbox input元素
$(":submit")               选择所有的submit input元素
$(":image")                 选择所有的image input元素
$(":reset")                   选择所有的reset input元素
$(":button")                选择所有的button input元素
$(":file")                     选择所有的file input元素
$(":hidden")               选择所有类型为hidden的input元素或表单的隐藏域

表单元素过滤选择器: 

$(":enabled")             选择所有的可操作的表单元素
$(":disabled")            选择所有的不可操作的表单元素
$(":checked")            选择所有的被checked的表单元素
$("select option:selected") 选择所有的select 的子元素中被selected的元素

选取一个 name 为”S_03_22″的input text框的上一个td的text值

$(”input[@ name =S_03_22]“).parent().prev().text()

名字以”S_”开始,并且不是以”_R”结尾的

$(”input[@ name ^='S_']“).not(”[@ name $='_R']“)

一个名为 radio_01的radio所选的值

$(”input[@ name =radio_01][@checked]“).val();

$("A B") 查找A元素下面的所有子节点,包括非直接子节点
$("A>B") 查找A元素下面的直接子节点
$("A+B") 查找A元素后面的兄弟节点,包括非直接子节点
$("A~B") 查找A元素后面的兄弟节点,不包括非直接子节点

1. $("A B") 查找A元素下面的所有子节点,包括非直接子节点

例子:找到表单中所有的 input 元素

HTML 代码: 

<form>
<label>Name:</label>
<input name="name" />
<fieldset>
   <label>Newsletter:</label>
   <input name="newsletter" />
</fieldset>
</form>
<input name="none" />

jQuery 代码:

$("form input")

结果:

[ <input name="name" />, <input name="newsletter" /> ]

2. $("A>B") 查找A元素下面的直接子节点

例子:匹配表单中所有的子级input元素。

HTML 代码: 

<form>
<label>Name:</label>
<input name="name" />
<fieldset>
   <label>Newsletter:</label>
   <input name="newsletter" />
</fieldset>
</form>
<input name="none" />

jQuery 代码:

$("form > input")

结果:

[ <input name="name" /> ]

3. $("A+B") 查找A元素后面的兄弟节点,包括非直接子节点

例子:匹配所有跟在 label 后面的 input 元素

HTML 代码: 

<form>
<label>Name:</label>
<input name="name" />
<fieldset>
   <label>Newsletter:</label>
   <input name="newsletter" />
</fieldset>
</form>
<input name="none" />

jQuery 代码:

$("label + input")

结果:

[ <input name="name" />, <input name="newsletter" /> ]

4. $("A~B") 查找A元素后面的兄弟节点,不包括非直接子节点

例子:找到所有与表单同辈的 input 元素

HTML 代码:

<form>
<label>Name:</label>
<input name="name" />
<fieldset>
   <label>Newsletter:</label>
   <input name="newsletter" />
</fieldset>
</form>
<input name="none" />

jQuery 代码: 

$("form ~ input")

结果:

[ <input name="none" /> ]

Javascript 相关文章推荐
JavaScript判断两种格式的输入日期的正确性的代码
Mar 25 Javascript
Javascript面向对象之四 继承
Feb 08 Javascript
如何确保JavaScript的执行顺序 之实战篇
Mar 03 Javascript
JavaScript mapreduce工作原理简析
Nov 25 Javascript
Javascript基础教程之关键字和保留字汇总
Jan 18 Javascript
JavaScript数组Array对象增加和删除元素方法总结
Jan 20 Javascript
javascript事件委托的方式绑定详解
Jun 10 Javascript
JS判断当前页面是否在微信浏览器打开的方法
Dec 08 Javascript
layui框架中layer父子页面交互的方法分析
Nov 15 Javascript
详解如何从零开始搭建Express+Vue开发环境
Jul 17 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
May 23 jQuery
openlayers 3实现车辆轨迹回放
Sep 24 Javascript
基于jQuery实现左右图片轮播(原理通用)
Dec 24 #Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
Dec 24 #Javascript
jquery遍历函数siblings()用法实例
Dec 24 #Javascript
jQuery中的siblings用法实例分析
Dec 24 #Javascript
JQuery标签页效果实例详解
Dec 24 #Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
Dec 24 #Javascript
JQuery实现Ajax加载图片的方法
Dec 24 #Javascript
You might like
php连接mssql的一些相关经验及注意事项
2013/02/05 PHP
PHP zip扩展Linux下安装过程分享
2014/05/05 PHP
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
php密码生成类实例
2014/09/24 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
2020/12/29 PHP
jquery 框架使用教程 AJAX篇
2009/10/11 Javascript
一个可以兼容IE FF的加为首页与加入收藏实现代码
2009/11/02 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
自动适应iframe右边的高度
2016/12/22 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
JavaScript实现简单的星星评分效果
2017/05/18 Javascript
PHP自动加载autoload和命名空间的应用小结
2017/12/01 Javascript
Vue修改mint-ui默认样式的方法
2018/02/03 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
jquery实现两个div中的元素相互拖动的方法分析
2020/04/05 jQuery
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
python中bisect模块用法实例
2014/09/25 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
python 实现视频 图像帧提取
2019/12/10 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
MIS软件工程师的面试题
2016/04/22 面试题
生物科学专业个人求职信范文
2013/12/05 职场文书
四年级语文教学反思
2014/02/05 职场文书
安卓程序员求职信
2014/02/28 职场文书
python开发实时可视化仪表盘的示例
2021/05/07 Python
python 经纬度求两点距离、三点面积操作
2021/06/03 Python
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis
Sql Server之数据类型详解
2022/02/28 SQL Server