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 相关文章推荐
jQuery对象和DOM对象使用说明
Jun 25 Javascript
HTML颜色选择器实现代码
Nov 23 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
Apr 17 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
JavaScript模拟重力状态下抛物运动的方法
Mar 03 Javascript
JavaScript实现简单获取当前网页网址的方法
Nov 09 Javascript
JavaScript中数组的22种方法必学(推荐)
Jul 20 Javascript
概述BootStrap中role=&quot;form&quot;及role作用角色
Dec 08 Javascript
JS实现隔行换色的表格排序
Mar 27 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
Jan 18 jQuery
微信小程序云开发之使用云数据库
May 17 Javascript
JavaScript 判断数据类型的4种方法
Sep 11 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数组总结篇(一)
2008/09/30 PHP
php打开文件fopen函数的使用说明
2013/07/05 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
Laravel学习教程之request validation的编写
2017/10/25 PHP
PHP基于array_unique实现二维数组去重
2020/07/14 PHP
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
Jquery AJAX 用于计算点击率(统计)
2010/06/30 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
JavaScript实现MIPS乘法模拟的方法
2015/04/17 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
Javascript中replace()小结
2015/09/30 Javascript
php 修改密码实现代码
2017/05/24 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
2019/11/30 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
通过canvas转换颜色为RGBA格式及性能问题的解决
2019/11/22 HTML / CSS
英国综合网上购物商城:The Hut
2018/07/03 全球购物
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
化工机械应届生求职信
2013/11/04 职场文书
正规的求职信范文分享
2013/12/11 职场文书
秘书行业自我鉴定范文
2013/12/30 职场文书
单身联谊活动方案
2014/01/29 职场文书
经典团队口号
2014/06/06 职场文书
金融与证券专业求职信
2014/06/22 职场文书
音乐课外活动总结
2015/05/09 职场文书
关于远足的感想
2015/08/10 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
MySQL 8.0 之不可见列的基本操作
2021/05/20 MySQL
Java使用HttpClient实现文件下载
2022/08/14 Java/Android