jQuery九类选择器

终极目的:通过选择器,能定位web页面中的任何标签


1.基本选择器

<div id="div1ID">div1</div>
<div id="div2ID">div2</div>
<span class="myClass">span</span>
<p>p</p>

<script type="text/javascript">
	//1)查找ID为"div1ID"的元素
	$("#div1ID")
//2)查找标签为DIV的元素
$("div")
//3)查找所有样式是"myClass"的元素
$(".myClass")
//4)查找所有标签为DIV,SPAN,P元素
$("div,span,p")
//5)查找所有ID为div1ID,CLASS为myClass,标签为P元素
$("#div1ID,.myClass,p")



2.层次选择器

<form>
	<input type="text" value="a"/>		
	<table>
		<tr>
			<td>
				<input type="checkbox" value="b"/>
			</td>
		</tr>			
	</table>
</form>
<label></label>
<input type="radio" value="c"/>
<input type="radio" value="d"/>
<input type="radio" value="e"/>

<script type="text/javascript">
	//1)匹配表单form下所有的input元素
	$("form input")
	//在给定的祖先元素下匹配所有的后代元素。在这里form是祖先,input是后代。

 	//2)匹配表单form下所有的子级input元素
 	$("form>input")
 	//在给定的父元素下匹配所有的子元素
 	
 	//3)匹配跟在标签label后面的第一个input元素
 	$("label + input")
 	
 	//4)匹配所有与标签label后面的input元素个数
$("label ~ input")
</script>



3.增强基本选择器

<ul>
    <li>list item 1</li>
    <li>list item 2</li>
    <li>list item 3</li>
    <li>list item 4</li>
    <li>list item 5</li>
</ul>
<input type="checkbox" checked/>
<input type="checkbox" />
<input type="checkbox"/>
<table border="1">
  <tr><td>line1</td></tr>
  <tr><td>line2</td></tr>
  <tr><td>line3</td></tr>
</table>	
<h1>h1</h1>
<h2>h2</h2> 
<h3>h3</h3>
<p>p</p>

<script type="text/javascript">
//1)匹配所有li标签中第一个li标签
$('li').first()

 	//2)匹配所有li标签中最后一个li标签
 	$('li').last()
 	
 	//3)匹配所有未选中的input元素
 	$("input:not(:checked)")
 	
 	//4)匹配表格的奇数行
 	$("tr:even")
 	
 	//5)匹配表格的偶数行
 	$("tr:odd")
 	
 	//6)匹配表格中第二行,从索引号0开始
 	$("tr:eq(1)")
 	
 	//7)匹配所有大于给定索引值的元素
 	$("tr:gt(0)")
 	
 	//8)匹配所有小于给定索引值的元素
 	$("tr:lt(2)")
 	
 	//9)匹配如 h1, h2, h3之类的标题元素
 	$(":header")
</script>




4.内容选择器

<style type="text/css">
   .myClass{
   	font-size:44px;
   	color:blue
   }
</style>
<div><p>John Resig</p></div>
<div><p>George Martin</p></div>
<div>Malcom John Sinclair</div>
<div>J. Ohn</div>
<p></p>
<p></p>
<div></div>

<script type="text/javascript">
	//1)匹配包含给定文本的元素
	$("div:contains('John')")

 	//2)匹配所有不包含子元素或者文本的空元素
 	$("p:empty")
 	
 	//3)给所有包含p元素的div元素添加一个myClass样式
 	$("div:has(p)").addClass("myClass");
 	
 	//4)匹配所有含有子元素或者文本的p元素个数(就是匹配有子元素或者文本的p元素),即p为父元素
 	$("p:parent")
</script>



5.可见性选择器

<table border="1" align="center">
	<tr style="display:none">
		<td>Value 1</td>
	</tr>
	<tr>
		<td>Value 2</td>
	</tr>
	<tr>
		<td>Value 3</td>
	</tr>
</table>

<script type="text/javascript">
	//1)匹配隐藏的tr元素
	$("tr:hidden")

	//2)匹配所有可见的tr元素
	$("tr:visible")
</script>



6.属性选择器

<div>
	<p>Hello!</p>
</div>
<div id="test2"></div>
<input type="checkbox" name="newsletter" value="Hot Fuzz" />
<input id="myID" type="checkbox" name="newsletter" value="Cold Fusion" />
<input type="checkbox" name="newsaccept" value="Evil Plans" />
	
<script type="text/javascript">
	//1)匹配所有含有 id 属性的 div 元素
	$("div[id]")
	
 	//2)匹配所有name属性是newsletter的input元素,并将其选中
 	$("input[name='newsletter']")
 	
  	//3)匹配所有name属性不是newsletter的input元素
  	$("input[name!='newsletter']")
	  	
  	//4)匹配所有name属性以'news'开始的input元素
  	$("input[name^='news']")
	  	
  	//5)匹配所有name属性以'letter'结尾的input元素
  	$("input[name$='letter']")
	  	
  	//6)匹配所有name属性包含'news'的input元素
  	$("input[name*='man']")
	  	
  	//7)匹配所有含有id属性,并且它的name属性是以"letter"结尾的input元素
  	$("input[id][name$='man']")
</script>



7.子元素选择器

<ul>
	<li>John</li>
	<li>Karl</li>
	<li>Brandon</li>
</ul>
<ul>
	<li>Glen</li>
	<li>Tane</li>
	<li>Ralph</li>
</ul>
<ul>
	<li>Jack</li>
</ul>

<script type="text/javascript">
	//1)匹配和迭代 每个ul中第1个li元素,索引从1开始
	$("ul li:first-child")

	//2)匹配和迭代 每个ul中最后1个li元素中的内容,索引从1开始
	$("ul li:last-child")

	//3)在ul中查找是唯一子元素的li元素的内容
	$("ul li:only-child")

	//4)迭代每个ul中第2个li元素中的内容,索引从1开始
	$("ul li:nth-child(2)")
	//参数为2代表迭代第2个
</script>



8.表单选择器

<form>
	<input type="button" value="Input Button"/><br/>
	<input type="checkbox" /><br/>
	<input type="file" /><br/>
	<input type="hidden" /><br/>
	<input type="image" /><br/>
	<input type="password" /><br/>
	<input type="radio" /><br/>
	<input type="reset" /><br/>
	<input type="submit" /><br/>
	<input type="text" /><br/>
	<select><option>Option</option></select><br/>
	<textarea></textarea><br/>
	<button>Button</button><br/>
</form>
	
<script type="text/javascript">
	//1)匹配所有的input元素
	$(":input")
  	//2)匹配所有文本框
  	$(":text")
  	//3)匹配所有密码框
  	$(":password")
  	//4)匹配所有单选按钮
  	$(":radio")
  	//5)匹配所有复选框
  	$(":radio")
  	//6)匹配所有提交按钮
  	$(":submit")
  	//7)匹配所有图像域
  	$(":image")
  	//8)匹配所有重置按钮
  	$(":reset")
  	//9)匹配所有普通按钮
  	$(":button")
 	//10)匹配所有文件域
 	$(":file")
 	//11)匹配所有input元素为隐藏域
 	$("tr:hidden")
</script>



9.表达对象属性选择器

<form>
	<input type="text" name="email" disabled="disabled" />
	<input type="text" name="password" disabled="disabled" />
	<input type="text" name="id" />
	<input type="checkbox" name="newsletter" checked="checked" value="Daily" />
	<input type="checkbox" name="newsletter" value="Weekly" />
	<input type="checkbox" name="newsletter" checked="checked" value="Monthly" />
	<select>
		<option value="1">广东</option>
		<option value="2" selected="selected">湖南</option>
		<option value="3">湖北</option>
	</select>
</form>
	
<script type="text/javascript">
	//1)匹配所有可用的input元素
	$("input:enabled")
 	//2)匹配所有不可用的input元素
 	$("input:disabled")
 	//3)匹配所有选中的复选框元素
 	$("input:checked")
 	//4)匹配所有选中的选项元素
 	$("select option:selected")
</script>














  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值