JQ选择器

1.基本选择器

$("#btn2").click(function(){
	$(".mini").css("background", "#ffbbaa");
});

2.层次选择器

//选择 body 内的所有 div 元素
$("#btn1").click(function(){
	$("body div").css("background", "#ffbbaa");
});
//在 body 内, 选择子元素是 div 的元素
//$("body div ")   用以匹配元素的选择器,并且它是第一个选择器的后代元素(后代包括儿子、孙子、重孙...)
//$("body > div") 用以匹配元素的选择器,并且它是第一个选择器的子元素(Just 儿子)
$("#btn2").click(function(){
	$("body > div").css("background", "#ffbbaa");
});
//选择 id 为 one 的下一个 div 元素-->会选中ID=two的div
/* <div class="one" id="one">
	id 为 one,class 为 one 的div
	<div class="mini">class为mini</div>
</div>
<div class="one" id="two" title="test">
	id为two,class为one,title为test的div
	<div class="mini" title="other">class为mini,title为other</div>
	<div class="mini" title="test">class为mini,title为test</div>
</div> */
$("#btn3").click(function(){
	$("#one + div").css("background", "#ffbbaa");
});
//选择 id 为 two 的元素后面的所有 div 兄弟元素
$("#btn4").click(function(){
	$("#two ~ div").css("background", "#ffbbaa");
});
// 选择 id 为 two 的元素所有 div 兄弟元素
$("#btn5").click(function(){
	$("#two").siblings("div").css("background", "#ffbbaa");
});
// 选择 id 为 one 的下一个 span 元素
$("#btn6").click(function(){
	//以下选择器选择的是近邻 #one 的 span 元素, 若该span
	//和 #one 不相邻, 选择器无效. 
	//$("#one + span").css("background", "#ffbbaa");
	$("#one").nextAll("span:first").css("background", "#ffbbaa");
});
// 选择 id 为 two 的元素前边的所有的 div 兄弟元素
$("#btn7").click(function(){
	$("#two").prevAll("div").css("background", "#ffbbaa");
});

3、基本过滤器选择器

// 选择第一个 div 元素
$("#btn1").click(function(){
	$("div:first").css("background", "#ffbbaa");
});
// 选择最后一个 div 元素
$("#btn2").click(function(){
	$("div:last").css("background", "#ffbbaa");
});
// 选择class不为 one 的所有 div 元素
$("#btn3").click(function(){
	$("div:not(.one)").css("background", "#ffbbaa");
});
// 选择索引值为偶数的 div 元素
$("#btn4").click(function(){
	$("div:even").css("background", "#ffbbaa");
});
// 选择索引值为奇数的 div 元素
$("#btn5").click(function(){
	$("div:odd").css("background", "#ffbbaa");
});
// 选择索引值为大于 3 的 div 元素
$("#btn6").click(function(){
	$("div:gt(3)").css("background", "#ffbbaa");
});
// 选择索引值为等于 3 的 div 元素
$("#btn7").click(function(){
	$("div:eq(3)").css("background", "#ffbbaa");
});
// 选择索引值为小于 3 的 div 元素
$("#btn8").click(function(){
	$("div:lt(3)").css("background", "#ffbbaa");
});
// 选择所有的标题元素
$("#btn9").click(function(){
	$(":header").css("background", "#ffbbaa");
});
// 选择当前正在执行动画的所有元素
$("#btn10").click(function(){
	$(":animated").css("background", "#ffbbaa");
});
// 选择 id 为 two 的下一个 span 元素
$("#btn11").click(function(){
	$("#two").nextAll("span:first").css("background", "#ffbbaa");
});

4、内容过滤器选择器

// 选择 含有文本 'di' 的 div 元素
$("#btn1").click(function(){
	$("div:contains('di')").css("background", "#ffbbaa");
});
// 选择不包含子元素(或者文本元素) 的 div 空元素
$("#btn2").click(function(){
	$("div:empty").css("background", "#ffbbaa");
});
// 选择含有 class 为 mini 元素的 div 元素
$("#btn3").click(function(){
	$("div:has(.mini)").css("background", "#ffbbaa");
});
// 选择含有子元素(或者文本元素)的div元素
$("#btn4").click(function(){
	$("div:parent").css("background", "#ffbbaa");
	//$("div:not(:empty)").css("background", "#ffbbaa");
});

5、可见性过滤器选择器

// 选取所有可见的  div 元素
$("#btn1").click(function(){
	$("div:visible").css("background", "#ffbbaa");
});
// 选择所有不可见的 div 元素
$("#btn2").click(function(){
	//alert($("div:hidden").length);
	//show(time): 可以使不可见的元素变为可见, time 表示时间, 以
	//毫秒为单位
	//jQuery 的很多方法支持方法的连缀, 即一个方法的返回值来时调用该
	//方法的 jQuery 对象: 可以继续调用该对象的其他方法. 
	$("div:hidden").show(2000).css("background", 
			"#ffbbaa");
});
// 选择所有不可见的 input 元素
$("#btn3").click(function(){
	//val() 方法可以返回某一个表单元素的 value 属性值. 
	alert($("input:hidden").val());
});

6、属性过滤器选择器

// 选取含有 属性title 的div元素
$("#btn1").click(function(){
	$("div[title]").css("background", "#ffbbaa");
});
// 选取 属性title值等于'test'的div元素
$("#btn2").click(function(){
	$("div[title='test']").css("background", "#ffbbaa");
});
// 选取 属性title值不等于'test'的div元素(没有属性title的也将被选中)
$("#btn3").click(function(){
	//选取的元素中包含没有 title 的 div 元素. 
	$("div[title!='test']").css("background", "#ffbbaa");
});
// 选取 属性title值 以'te'开始 的div元素
$("#btn4").click(function(){
	$("div[title^='te']").css("background", "#ffbbaa");
});
// 选取 属性title值 以'est'结束 的div元素
$("#btn5").click(function(){
	$("div[title$='est']").css("background", "#ffbbaa");
});
// 选取 属性title值 含有'es'的div元素
$("#btn6").click(function(){
	$("div[title*='es']").css("background", "#ffbbaa");
});
// 组合属性选择器,首先选取有属性id的div元素,然后在结果中 选取属性title值 含有'es'的 div 元素
$("#btn7").click(function(){
	$("div[id][title*='es']").css("background", "#ffbbaa");
});
// 选取 含有 title 属性值, 且title 属性值不等于 test 的 div 元素
$("#btn8").click(function(){
	$("div[title][title!='test']").css("background", "#ffbbaa");
});

7、子元素过滤器选择器

// 选取每个class为one的div父元素下的第2个子元素
$("#btn1").click(function(){
	//选取子元素, 需要在选择器前添加一个空格. 
	$("div.one :nth-child(2)").css("background", "#ffbbaa");
});
// 选取每个class为one的div父元素下的第一个子元素
$("#btn2").click(function(){
	$("div.one :first-child").css("background", "#ffbbaa");
});
// 选取每个class为one的div父元素下的最后一个子元素
$("#btn3").click(function(){
	$("div.one :last-child").css("background", "#ffbbaa");
});
// 如果class为one的div父元素下的仅仅只有一个子元素,那么选中这个子元素
$("#btn4").click(function(){
	$("div.one :only-child").css("background", "#ffbbaa");
});

8、表单选择器

$("#btn1").click(function(){
	//使所有的可用的单行文本框的 value 值变为 尚硅谷
	alert($(":text:enabled").val());
	$(":text:enabled").val("尚硅谷");
});
$("#btn2").click(function(){
	$(":text:disabled").val("www.atguigu.com");
});
$("#btn3").click(function(){
	var num = 
		$(":checkbox[name='newsletter']:checked").length;
	alert(num);
});

$("#btn5").click(function(){
	//实际被选择的不是 select, 而是 select 的 option 子节点
	//所以要加一个 空格. 
	//var len = $("select :selected").length
	//alert(len);
	
	//因为 $("select :selected") 选择的是一个数组
	//当该数组中有多个元素时, 通过 .val() 方法就只能获取第一个被选择的值了. 
	//alert($("select :selected").val());
	
	//jQuery 对象遍历的方式使 each, 在 each 内部的 this 是正在
	//得到的 DOM 对象, 而不是一个 jQuery 对象
	$("select :selected").each(function(){
		alert(this.value);
	});
//选择 type="text" 的 <input> 元素
$(":text")
//选择 type="text" 的 <input> 元素,并且name='username'
$(":text[name='username']")
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值