jQuery中选择器很强大,可以根据元素名称、ID、class等多种方式进行选择,

 <ul id="id">

   <li>

     <div>

       nihao

       <div class="className">

          china!!!

       </div>

     </div>

   </li>

 </ul>       

 $("div"),

 选则所有div元素

 <div>nihao<div class="className">china!!!</div></div>,

 <div class="className">china!!!</div>      

 $("#id"),

 选择id="id"的元素

 <ul id="id"><li><div>nihao<div class="className">china!!!</div></div></li></ul>

 $(".className"),  

 选择class="className"的所有元素

 <div class="className">china!!!</div>

 也可以多个方式一起使用,提高效率,

 $("#id  div  .className")  ,       

 选择id="id"的元素下面class="className"的所有div

 <div class="className">china!!!</div>

 亦可以同时选取多个元素进行操作,

 $("#id , .className"),           

 选择id="id"的元素,以及class="className"的元素

 <ul id="id">  <li><div>nihao<div class="className">china!!!</div></div></li></ul>,

 <div class="className">china!!!</div>

 注意通过$选取获得的是jQuery对象而不是Dom元素,若想转换成Dom元素可以采用get()方法。

 层级选择器:

 $("#id  div  .className")         

 选择父元素下面的所有子元素,这里要选择的是#id 下面的所有的div中的所有class名为className的元素。

 $("body>div") 

 选择父元素的下一级别且仅为下一级别的子元素。

 <div>nihao<div class="className">china!!!</div></div>。

 $("prev+next") 

 紧跟在prev后面的元素。(找兄弟节点)

 $("ul~input")

 找出所有与ul同辈的input元素。

 其他一些特殊的匹配规则:

 <div><p>John</p> Resig</div>
 <div>George Martin</div>
 <div>Malcom John Sinclair</div>

 $("div:contains(George)") ,

 匹配包含指定文本的元素,

 <div>George Martin</div>
 $("div:has(p)"),

 匹配包含指定元素"p"的元素,

 <div><p>John</p> Resig</div>
 $("div:first"),

 获取第一个元素,

 <div><p>John</p> Resig</div>
 $("div:last"),

 获取最后一个元素,

 <div>Malcom John Sinclair</div>。

 $("div:even"),

 匹配所有索引为偶数的元素,

 <div><p>John</p> Resig</div> ,

 <div>Malcom John Sinclair</div>

 $("div:odd"),

 匹配所有索引为奇数的元素,

 <div>George Martin</div>



基本选择器
$(”#myDiv”) 匹配唯一的具有此id值的元素
$(”div”) 匹配指定名称的所有元素
$(”.myClass”) 匹配具有此class样式值的所有元素
$(”*”) 匹配所有元素
$(”div,span,p.myClass”) 联合所有匹配的选择器
层叠选择器
$(”form input”) 后代选择器,选择ancestor的所有子孙节点
$(”#main > *”) 子选择器,选择parent的所有子节点
$(”label + input”) 临选择器,选择prev的下一个临节点(同级别节点)
$(”#prev ~ div”) 同胞选择器,选择prev的所有同胞节点
基本过滤选择器
$(”tr:first”) 匹配第一个选择的元素
$(”tr:last”) 匹配最后一个选择的元素
$(”input:not(:checked) + span”)从原元素集合中过滤掉匹配selector的所有元素(这里有是一个临选择器)
$(”tr:even”) 匹配集合中偶数位置的所有元素(从0开始)
$(”tr:odd”) 匹配集合中奇数位置的所有元素(从0开始)
$(”td:eq(2)”) 匹配集合中指定位置的元素(从0开始)
$(”td:gt(4)”) 匹配集合中指定位置之后的所有元素(从0开始)
$(”td:gl(4)”) 匹配集合中指定位置之前的所有元素(从0开始)
$(”:header”) 匹配所有标题
$(”div:animated”) 匹配所有正在运行动画的所有元素
内容过滤选择器
$(”div:contains(’John’)”) 匹配含有指定文本的所有元素
$(”td:empty”) 匹配所有空元素(只含有文本的元素不算空元素)
$(”div:has(p)”) 从原元素集合中再次匹配所有至少含有一个selector的所有元素
$(”td:parent”) 匹配所有不为空的元素(含有文本的元素也算)
$(”div:hidden”) 匹配所有隐藏的元素,也包括表单的隐藏域
$(”div:visible”) 匹配所有可见的元素
属性过滤选择器
$(”div[id]”) 匹配所有具有指定属性的元素
$(”input[name=’newsletter’]”) 匹配所有具有指定属性值的元素
$(”input[name!=’newsletter’]”) 匹配所有不具有指定属性值的元素
$(”input[name^=’news’]”) 匹配所有指定属性值以value开头的元素
$(”input[name$=’letter’]”) 匹配所有指定属性值以value结尾的元素
$(”input[name*=’man’]”) 匹配所有指定属性值含有value字符的元素
$(”input[id][name$=’man’]”) 匹配同时符合多个选择器的所有元素
子元素过滤选择器
$(”ul li:nth-child(2)”),
$(”ul li:nth-child(odd)”), 匹配父元素的第n个子元素
$(”ul li:nth-child(3n + 1)”)
$(”div span:first-child”) 匹配父元素的第1个子元素
$(”div span:last-child”) 匹配父元素的最后1个子元素
$(”div button:only-child”) 匹配父元素的唯一1个子元素
表单元素选择器
$(”: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”) 匹配所有已点选的元素
$(”select option:selected”) 匹配所有已选择的元素