jquery选择器总结[初步]

标签: jquery 选择 | 发表时间:2013-08-31 10:25 | 作者:NUPTboyZHB
出处:http://blog.csdn.net
1.Jquery简介
  Jquery是继prototype之后又一个优秀的Javascript框架。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
2.JQuery与html的分离举例

不用再网页中加入如:onclick之类的事件来调用函数了,直接引入JQuery类库和自己编写的JQuery代码就可以了;

$(function(){
   $("Element").click{function(){
          alert("已点击");
     }
   }
});


上述函数$(function(){});当页面加载完毕时执行这个函数。

3.JQuery的核心的一些方法
each(callback) //就像循环
$("Element").length; //元素的个数,是个属性
$("Element").size(); //也是元素的个数,不过带括号是个方法
$("Element").get(); //某个元素在页面中的集合,以数组的形式存储
$("Element").get(index); //功能和上面的相同,index表示第几个元素,数组的下标
$("Element").get().reverse(); //把得到的数组方向
$("Element1").index($("Element2")); //元素2在元素1中的索引值是。。。

4.基本对象获取

(注意:这里获取的都是Jquery对象而不是Dom对象,他们之间可以相互转换)

$("*")  //表示获取所有对象   不常用
$("#XXX") //获得 id=XXX 的元素对象(id可以是标签的id或CSS样式id) 常用
$("input[name='username']")//获得input标签中name='userName'的元素对象 常用
$(".abc")//获得样式class的名字是.abc的元素对象  常用
$("div")//标签选择器 选择所有的div元素  常用
5.层级元素获取
$("Element1 Element2 Element3 ....")//前面父级 后面是子集
$("div > p")//获取div下面的所有的 p元素
$("div + p")//div元素后面的第一个 p元素
$("div ~ p")//div后面的所有的 p元素
6.简单对象获取
$("Element:first") //HTML页面中某类元素的第一个元素
$("Element:last") //HTML页面中某类元素的最后一个元素
$("Element:not(selector)") //去除所有与给定选择器匹配的元素,如:$("input:not(:checked)") 表示选择所有没有选中的复选框
$("Element:even") //获得偶数行
$("Element:odd“)//获得奇数行
$("Element:eq(index)")  //取得一个给定的索引值
$("Element:gt(index)")  //取得给定索引值的元素  之后的所有元素
$("Element:lt(index)")  //取得给定索引值的元素  之前的所有元素
7.内容对象的获取和对象可见性
$("Element:contains(text)") //元素中是否包含text文本内容
$("Element:empty") //获得元素不包含子元素或文本的
$("Element:partnt") //获得元素包含子元素或文本的
$("Element:has(selector)") //是否包含某个元素, 如:$("p:has(span)")表示所有包含span元素的p元素
$("Element:hidden") //选择所有可见元素
$("Element:visible") //选择所有不可见元素
8.其他对象获取方法
$("Element[id]") //所有带有ID属性的元素
$("Element[attribute =youlika ]" //获得所有某个属性为youlika的元素
$("Element[attribute !=youlika ]" //获得所有某个属性为不是youlika的元素
$("Element[attribute ^=youlika ]" //获得所有某个属性为不是youlika的开头的元素
$("Element[attribute $=youlika ]" //获得所有某个属性为不是youlika的结尾的元素
$("Element[attribute *=youlika ]" //获得所有某个属性包含youlika的开头的元素
$("Element[selector1][selector2][....]") //符合属性选择器,比如$("input[id][name][value=youlika ]")表示获得带有ID.Name以及value是youlika 的input元素。
9.子元素的获取
$("Element:nth-child(index)") //选择父级下面的第n个元素
$("Element:nth-child(even)") //选择父级下面的偶数
$("Element:nth-child(odd)") //选择父级下面的奇数
$("Element:nth-child(3n+1)") //表达式
$("Element:first-child") //选择父级下面的第一个子元素
$("Element:last-child") //选择父级下面的最后一个子元素
$("Element:only-child") //匹配父级下的唯一的一个子级元素,例如dt在dl列表中唯一,那么将选择dt
10.表单对象获取
$(:input)//查找所有的Input元素,当然也包括下拉列表,文本域,单选框,复选框等。
$(:text)//匹配所有的单行文本框
$(:password)//匹配所有的密码框
$(:radio)//匹配所有的单选按钮
$(:checkbox)//匹配所有的复选框
$(:submit)//匹配所有的提交按钮
$(:image)//匹配所有的图像域,例如<input type="image" />
$(:reset)//匹配所有的重置按钮
$(:button)//匹配所有的按钮
$(:file)//匹配所有的文件上传域
$(:hidden)//匹配所有的不可见元素或者type为hidden的元素
$(:enabled)//匹配所有可用的input元素,比如radio:enabled表示匹配所有可用的单选按钮
$(:disabled)//匹配所有的不可用input元素,作用与上相反
$(:checked)//匹配所有选中的复选框元素
$(:selected)//匹配所有的下拉列表
11.元素属性的设置与移除
$("Element").attr(name) //取得第一个匹配的属性值,比如$("img").attr("src")
$("Element").attr(key,value)") //某一个元素设置属性
$("Element").attr({key:value,key1:value,....})) //为某个元素一次性设置多个属性
$("Element").attr(key,function) //为所有匹配的元素设置一个计算的属性值。
$("Element").removeAttr(name)//移除某一个属性
举例:[src= http://download.csdn.net/detail/nuptboyzhb/6042401]

示例一:

<html>
   <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Jquery测试</title>
   </head>
   <script type="text/javascript" src="jquery.js"><</script>
   <script type="text/javascript">
		<!--通过标签id属性访问某一元素:$("#id") --> 
		<!-- 注意:$("")获取的结果是一个数组,如果需要取数组的元素,需要通过下标或get方法获取-->
		function test1(){
		   var objElement = $("#button1");
		   alert("元素值为:"+objElement.get(0).tagName);
		}
		<!--通过标签访问一组元素 --> 
		function test2(){
		   var objElements = $("input");
		   alert("第一个标签名为:"+objElements[0].tagName);
		   alert("第二个元素值为:"+objElements[1].value); 
		}
		<!--通过某个元素来访问其父元素 --> 
		function test3(){
		   var objElementParent = $("#button3").parent();
		   alert("父元素的标签名:"+objElementParent[0].tagName);
		}
		<!--通过某个元素来访问其同层下一个元素 --> 
		function test4(){
		   var objElement =$("#button4").next();
		   alert("同层下一个元素:"+objElement[0].value);
		}
		<!--标签修饰的内容当成文本 --> 
		function test5(){
		   $("#p1").text("CN:很高兴见到你!");
		   $("#p2").html('<a href="http://blog.csdn.net/nuptboyzhb/">NUPTboyZHB<a>');
		}
		<!--修改属性值 --> 
		function test6(){
		   $("#button6").attr("value","已修改");
		}
		<!--增加新的节点 --> 
		function test7(){
		   var objFather = document.getElementById("button7").parentNode;
           var objImgNewElement = document.createElement("img");
           objImgNewElement.setAttribute("src","http://avatar.csdn.net/C/2/1/1_nuptboyzhb.jpg");
           objFather.appendChild(objImgNewElement);
		}
  </script>
   <body>
    <p id="p1">Nice to meet you!</p>
	<p id="p2">Hello world!</p>
	<div>
	  <input id="button1" type="button" value="ById" onclick="test1()">
	  <input id="button2" type="button" value="ByTagName" onclick="test2()">
	  <input id="button3" type="button" value="ParentNode" onclick="test3()">
	  <input id="button4" type="button" value="NextNode" onclick="test4()">
	  <input id="button5" type="button" value="innerText-HTML" onclick="test5()">
	  <input id="button6" type="button" value="setAttribute" onclick="test6()">
	  <input id="button7" type="button" value="addElement" onclick="test7()">
	  <p id="p3">P3: I am in DIV</p>
	  <p id="p4">P4: I am also in DIV</p>
	</div>
   </body>
</html>


示例二:

<html>
    <head>
        <title>jquery测试</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="jquery.js"></script>
        <style type="text/css">
        .checkCss{
            color:blue;
        }
        .redioCss{
            color:red;
        }
        </style>
        <script type="text/javascript">
		    //该函数在网页加载介绍后自动生成
            $(function(){
                // $("#XXX") 获得id=XXX的所有Jquery对象
                $("#subt").click(function(){
                    // $("XXX") 获得XXX标签名的所有Jquery对象
                    alert("input 标签的对象个数为:"+$("input").length);
                    // $("XXX[name='YYY']") 获得XXX标签名下name='YYY'的所有Jquery对象
                    // val()获得属性值
                    alert("name='userName'的输入框内容为:"+$("input[name='userName']").val());
                    // 注意获得value值的第二种方式
                    alert("name='note'的输入框内容为:"+$("input[name='note']").attr("value"));
                    alert("下拉菜单被选中项的文本为:"+$("#sex option:selected").text());
                    alert("下拉菜单被选中项的值为:"+$("#sex").val());
                    alert("复选框选中的个数为:"+$("input[name='check']:checked").length);
                    if($("input[name='check']:checked").length>0){
                        var allCheckValue="";
                        var allCheckText="";
                        $("input[name='check']:checked").each(function(){
                            allCheckValue+=$(this).val()+" ";
                            allCheckText+=$(this).parent(".checkCss").text()+" ";
                        });
                        alert("复选框选中的文本为:"+allCheckText+" 值为:"+allCheckValue);
                    }
                    if($("input[name='status']:checked").length>0){
                        alert("单选框选中的文本为:"+$("input[name='status']:checked").parent(".redioCss").text()+" 值为:"+$("input[name='status']:checked").val());
                    }
                });
            });
            </script>
    </head>

    <body>
        姓名:<input type="text" name="userName" width="250"><br>
        性别:<select id="sex" name="userSex" style="width: 155">
                <option value="1">男</option>
                <option value="2">女</option>
                <option value="3">不男不女</option>
             </select><br>
        爱好:<span class="checkCss"><input type="checkbox" name="check" value="1">旅游</span>
             <span class="checkCss"><input type="checkbox" name="check" value="2">音乐</span><br>
                        
             <span class="checkCss"><input type="checkbox" name="check" value="3">体育</span>
             <span class="checkCss"><input type="checkbox" name="check" value="4">文学</span><br>
        状态:<span class="redioCss"><input type="radio" name="status" value="1">在职</span>
             <span class="redioCss"><input type="radio" name="status" value="2">离职</span><br>
        简介:<input type="text" name="note" width="250"><br>
        <input type="button" value="提交" id="subt"><br>
    </body>
</html>


未经允许不得用于商业目的
作者:NUPTboyZHB 发表于2013-8-31 10:19:17 原文链接
阅读:19 评论:0 查看评论

相关 [jquery 选择] 推荐:

JQuery 选择器

- - CSDN博客Web前端推荐文章
}

点击我

.    像上面这样把JavaSript代码和HTML代码混杂在一起的做法同样也非常不妥,因为它并没有将网页内容和行为分离,所以才有JQuery选择器的学习.

点击我

. //给class为demo的元素添加行为.

jQuery选择器探讨进阶

- - 阿里巴巴(中国站)用户体验设计部博客
jQuery 选择器探讨. 在jQuery中,当用户把选择器表达式作为参数传递给$()函数时,jQery的Sizzle先对这个选择器表达式进行语法分析,然后再决定如何获得表达式所代表的这些元素. 在框架底层,Sizzle应用了浏览器所支持的最高效的DOM 方法来获取一个节点列表(nodeList),这个节点列表是一个类似于数组的对象的DOM元素的集合.

jquery选择器总结[初步]

- - CSDN博客推荐文章
  Jquery是继prototype之后又一个优秀的Javascript框架. 它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器. jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互. jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可.

jQuery 和 prototype 选择器的使用与注意事项

- - ITeye博客
我的博客求点击: http://yysource.sourceforge.net/?p=36. 如果是根据id(假设id="myid")选择,. jQuery的用法为(这里用jQuery代替$):jQuery("#myid"); 则返回一个数组. prototype 的用法为:$("myid"); 返回结果为一个Element对象.

Chosen—强大的jquery模拟选择框插件

- - ria之家--RIA三部曲:jquery、ext、flex
很久没写jquery相关的内容了. 今天明河向大家推荐个相当不错的模拟选择框插件:Chosen. Chosen提供了suggest功能,强大的是实现了选项分组和多选关键词处理. 设置 data-placeholder=”",即可. 如果不存在data-placeholder,组件会自动设置默认文本为“Select Some Option”或“”Select Some Options”.

jquery mobile搭配REST是不错的选择

- - ITeye博客
现在,jquery mobile由于可以使用HTML5去 编写移动网页,因此如果是普通的网站,. 想搞个移动版本之类的话,可以尝试用jquery mobile,比如有些功能,需要返回给. 移动端的话,可以使用后端REST的风格,以JSON形式返回给前端,然后jquery mobile. 有利用ajax发起向后端拿到REST返回的结果,在前端解析,效果是不错的.

Jquery:强大的选择器<一> - net小民工

- - 博客园_首页
   今天回家之后,学习的是Jquery的选择器. 选择器作为Jquery的优势之一,确实让我感觉到了它的强大. Jquery选择器分为基本选择器、层次选择器、过滤选择器和表单选择器,下面我一一介绍这四种选择器.    看了书中关于选择器的介绍,我才知道,自己平日里用的大部分都是基本选择器. 基本选择器中包含id选择器、class选择器、标签选择器、复合选择器和“*”选择器.

jQuery EasyUI1.3.2 comobotree 组件弹出后自动滚动到选择的节点

- - ITeye博客
  jQuery EasyUI1.3.2  comobotree 组件弹出后自动滚动到选择的节点. 在加载完成Easyui JS加载完成后,添加默认事件:弹出后自动滚动到对应的节点. //当combotree弹出显示时自动滚动到对应位置 $.fn.combotree.defaults.onShowPanel = function(){.

前端学习——选择结果为JQuery对象还是DOM对象?

- - CSDN博客Web前端推荐文章
0.前言     在学习和使用javascript过程中经常使用JQuery的选择器,但是在获取到选择结果之后经常“犯迷糊”,需要一个DOM对象时或者一个JQuery对象,这样的尴尬经常遇到. 为了让自己不再迷糊通过博文总结经验教训,希望自己在总结过程中缓慢提高.     【 前端学习——如何修改url name 使用javascript和JQuery】.

jquery操作xml

- - CSDN博客Web前端推荐文章
jquery真的很强大,虽然一直在用jquery,不用一直都没有深入,这几天重新学习了一下,不得不感叹她的强大,已经让我深深入迷. 这里记录一下,她是怎么快速地操作xml的.. 这里我们有一个xml文件:. jquery如何操作呢,总的思想,就是和操作dom差不多的方法. 首先我们获取这个文件的内容:(我先引入jquery库哈).