jQuery 选择器
-
基本选择器
- #id:根据给定的ID匹配一个元素
HTML:
<div id="notMe">1</div> <div id="myDiv">2</div>
jQuery:
$("#myDiv");
- .class:根据给定的类名称匹配元素
HTML:
<div class="myDiv">1</div> <div class="notMe">2</div>
jQuery:
$(".myDiv");
- *:匹配所有元素
HTML:
<div class="myDiv">1</div> <div class="notMe"><span>2</span></div>
jQuery:
$("*");
- selector1,selector2:将每一个选择器匹配到的元素合并后一起返回
HTML:
<div class="nav">1</div>` <div class="nav1"><span id="text">2</span></div>
jQuery:
$(".nav,.nav1,#text");
-
层级选择器
- ancestor descendant:在给定的祖先元素下匹配所有的后代元素
HTML:
<ul> <li>1</li> <li>2</li> <li>3</li> </ul>
jQuery:
$("ul li");
- parent > child:在给定的父元素下匹配所有的子元素
HTML:
<ul> <li>1</li> <li>2</li> <li>3</li> <p>4</p> </ul>
jQuery:
$("ul>li");
- prev + next:匹配所有紧接在 prev 元素后的 next 元素
HTML:
<div> <label>1+1</label> <span>2</span> </div>
jQuery:
$("label+span");
-
基本筛选器
- :first:获取第一个元素
HTML:
<ul> <li>1</li> <li>2</li> <li>3</li> </ul>
jQuery:
$("ul>li:first");
- :last:获取最后一个元素
HTML:
<ul> <li>1</li> <li>2</li> <li>3</li> </ul>
jQuery:
$("ul>li:last");
- :not:去除所有与给定选择器匹配的元素
HTML:
<ul> <li>1</li> <li>2</li> <li>3</li> </ul>
jQuery:
$("ul>li:not(ul>li:first):not(ul>li:last)");
- :even:匹配所有索引值为偶数的元素,从 0 开始计数
HTML:
<ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul>
jQuery:
$("ul>li:even");
- :odd:匹配所有索引值为奇数的元素,从 0 开始计数
HTML:
<ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul>
jQuery:
$("ul>li:odd");
- :eq(index):匹配一个给定索引值的元素
HTML:
<ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul>
jQuery:
$("ul>li:eq(2)");
- :gt:匹配所有大于给定索引值的元素
HTML:
<ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul>
jQuery:
$("ul>li:gt(2)");
- :lt:匹配所有小于给定索引值的元素
HTML:
<ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul>
jQuery:
$("ul>li:lt(2)");
-
内容选择器
- :contains(text):匹配包含给定文本的元素
HTML:
<ul> <li>12345</li> <li>1234</li> <li>123</li> <li>12</li> <li>1</li> </ul>
jQuery:
$("ul>li:contains(5)");
- :empty:匹配所有不包含子元素或者文本的空元素
HTML:
<ul> <li>12345</li> <li>1234</li> <li>123</li> <li></li> <li></li> </ul>
jQuery:
$("ul>li:empty");
- :has(selector):匹配含有选择器所匹配的元素的元素
HTML:
<div><p>1</p></div> <div>2</div>
jQuery:
$("div:has(p)");
- :parent:匹配含有子元素或者文本的元素
HTML:
<div><p>1</p></div> <div>2</div>
jQuery:
$("p:parent");
-
可见性选择器
- :hidden:匹配所有不可见元素,或者type为hidden的元素
HTML:
<div style="display:none"><p>1</p></div> <div>2</div>
jQuery:
$("div:hidden");
- :visible:匹配所有的可见元素
HTML:
<div style="display:none"><p>1</p></div> <div>2</div>
jQuery:
$("div:visible");
-
属性选择器
- [attribute]:匹配包含给定属性的元素
HTML:
<div id="nav"><p>1</p></div> <div>2</div>
jQuery:
$("div[id]");
- [attribute=value]:匹配给定的属性是某个特定值的元素
HTML:
<input type="checkbox" name="news" value="AS" /> <input type="checkbox" name="new" value="QW" /> <input type="checkbox" name="accept" value="AD" />
jQuery:
$("div[name='new']");
- [attribute!=value]:匹配所有不含有指定的属性,或者属性不等于特定值的元素
HTML:
<input type="checkbox" name="news" value="AS" /> <input type="checkbox" name="new" value="QW" /> <input type="checkbox" name="accept" value="AD" />
jQuery:
$("div[name!='new']");
- [attribute^=value]:匹配给定的属性是以某些值开始的元素
HTML:
<input type="checkbox" name="news" value="AS" /> <input type="checkbox" name="playable" value="QW" /> <input type="checkbox" name="accept" value="AD" />
jQuery:
$("div[name^='play']");
- [attribute$=value]:匹配给定的属性是以某些值结尾的元素
HTML:
<input type="checkbox" name="news" value="AS" /> <input type="checkbox" name="playable" value="QW" /> <input type="checkbox" name="accept" value="AD" />
jQuery:
$("div[name$='able']");
- [attribute*=value]:匹配给定的属性是以包含某些值的元素
HTML:
<input type="checkbox" name="news" value="AS" /> <input type="checkbox" name="playable" value="QW" /> <input type="checkbox" name="accept" value="AD" />
jQuery:
$("div[name*='lay']");
- [selector1][selector2][selectorN]:复合属性选择器,需要同时满足多个条件时使用
HTML:
<input type="checkbox" name="news" value="AS" /> <input type="checkbox" name="playable" value="QW" /> <input id=“btn” type="checkbox" name="accept" value="AD" />
jQuery:
$("div[id][name*='ept']");
-
子元素选择器
- :first-child:匹配第一个子元素
HTML:
<ul> <li>John</li> <li>Karl</li> <li>Brandon</li> <li>Glen</li> <li>Tane</li> <li>Ralph</li> </ul>
jQuery:
$("ul li:first-child");
- :last-child:匹配最后一个子元素
HTML:
<ul> <li>John</li> <li>Karl</li> <li>Brandon</li> <li>Glen</li> <li>Tane</li> <li>Ralph</li> </ul>
jQuery:
$("ul li:last-child");
- :nth-child:匹配其父元素下的第N个子元素
HTML:
<ul> <li>John</li> <li>Karl</li> <li>Brandon</li> <li>Glen</li> <li>Tane</li> <li>Ralph</li> </ul>
jQuery:
$("ul li:nth-child(3)");
- :first-of-type:选择所有相同的元素名称的第一个兄弟元素
HTML:
<div> <span>1</span> <span>2</span> <span>3</span> </div>
jQuery:
$("div:first-of-type");
- :last-of-type:选择的所有元素之间具有相同元素名称的最后一个兄弟元素
HTML:
<div> <span>1</span> <span>2</span> <span>3</span> </div>
jQuery:
$("div:last-of-type");
- :nth-of-type:选择同属于一个父元素之下,并且标签名相同的子元素中的第n个
HTML:
<div> <p>0</p> <span>1</span> <span>2</span> <span>3</span> </div>
jQuery:
$("span:nth-of-type(1)");
- :only-of-type:选择所有没有兄弟元素,且具有相同的元素名称的元素
HTML:
<div> <p>0</p> <span>1</span> <span>2</span> <span>3</span> </div>
jQuery:
$("p:only-of-type");
-
表单选择器
- :input:匹配所有 input, textarea, select 和 button 元素
HTML:
<form> <input type="button" value="Input Button"/> <input type="checkbox" /> <input type="file" /> <input type="hidden" /> <input type="image" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> <input type="text" /> <select><option>Option</option></select> <textarea></textarea> <button>Button</button> </form>
jQuery:
$(":input");
- :text:匹配所有的单行文本框
HTML:
<form> <input type="checkbox" /> <input type="file" /> <input type="hidden" /> <input type="image" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> <input type="text" /> <select><option>Option</option></select> <textarea></textarea> <button>Button</button> </form>
jQuery:
$(":text");
- :password:匹配所有密码框
HTML:
<form> <input type="checkbox" /> <input type="file" /> <input type="hidden" /> <input type="image" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> <input type="text" /> <select><option>Option</option></select> <textarea></textarea> <button>Button</button> </form>
jQuery:
$(":password");
- :radio:匹配所有单选按钮
HTML:
<form> <input type="checkbox" /> <input type="file" /> <input type="hidden" /> <input type="image" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> <input type="text" /> <select><option>Option</option></select> <textarea></textarea> <button>Button</button> </form>
jQuery:
$(":radio");
- :checkbox:匹配所有复选框
HTML:
<form> <input type="checkbox" /> <input type="file" /> <input type="hidden" /> <input type="image" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> <input type="text" /> <select><option>Option</option></select> <textarea></textarea> <button>Button</button> </form>
jQuery:
$(":checkbox");
- :submit:匹配所有提交按钮
HTML:
<form> <input type="checkbox" /> <input type="file" /> <input type="hidden" /> <input type="image" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> <input type="text" /> <select><option>Option</option></select> <textarea></textarea> <button>Button</button> </form>
jQuery:
$(":submit");
- :image:匹配所有图像域
HTML:
<form> <input type="checkbox" /> <input type="file" /> <input type="hidden" /> <input type="image" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> <input type="text" /> <select><option>Option</option></select> <textarea></textarea> <button>Button</button> </form>
jQuery:
$(":image");
- :reset:匹配所有重置按钮
HTML:
<form> <input type="checkbox" /> <input type="file" /> <input type="hidden" /> <input type="image" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> <input type="text" /> <select><option>Option</option></select> <textarea></textarea> <button>Button</button> </form>
jQuery:
$(":reset");
- :button:匹配所有按钮
HTML:
<form> <input type="checkbox" /> <input type="file" /> <input type="hidden" /> <input type="image" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> <input type="text" /> <input type="button" /> <select><option>Option</option></select> <textarea></textarea> <button>Button</button> </form>
jQuery:
$(":button");
- :file:匹配所有文件域
HTML:
<form> <input type="checkbox" /> <input type="file" /> <input type="hidden" /> <input type="image" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> <input type="text" /> <input type="button" /> <select><option>Option</option></select> <textarea></textarea> <button>Button</button> </form>
jQuery:
$(":file");
- :hidden:匹配所有不可见元素,或者type为hidden的元素
HTML:
<form> <input type="checkbox" /> <input type="file" /> <input type="hidden" /> <input type="image" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> <input type="text" /> <input type="button" /> <select><option>Option</option></select> <textarea></textarea> <button>Button</button> </form>
jQuery:
$(":hidden");
-
表单对象属性
- :enabled:匹配所有可用元素
HTML:
<form> <input name="email" disabled="disabled" /> <input name="id" /> </form>
jQuery:
$("input:enabled");
- :disabled:匹配所有不可用元素
HTML:
<form> <input name="email" disabled="disabled" /> <input name="id" /> </form>
jQuery:
$("input:disabled");
- :checked:匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)
HTML:
<form> <input name="email" disabled="disabled" /> <input type="checkbox" checked="checked" name="id" /> </form>
jQuery:
$("input:checked");
- :selected:匹配所有选中的option元素
HTML:
<select> <option value="1">Flowers</option> <option value="2" selected="selected">Gardens</option> <option value="3">Trees</option> </select>
jQuery:
$("select option:selected");