jquery的选择器概述
- (1)选择器是什么?
$()
特殊的”函数”,不同的字符串参数(代表不同的规则),执行之后可以获取页面的符合条件的元素返回 - (2)选择器分类
基本选择器
层级选择器
属性选择器
基本过滤选择器
表单属性选择器
一、基本选择器
选择器名称 | 语法 | 解释 |
---|---|---|
标签选择器(元素选择器) | $(“html标签名”) | 获得所有匹配标签名称的元素 |
id选择器 | $("#id的属性值") | 获得与指定id属性值匹配的元素 |
元素选择器 | $(".class的属性值") | 获取与指定的class属性值匹配的元素 |
<script type="text/javascript">
//<input type="button" value="改变 id 为 one 的元素的背景色为 红色" id="b1"/>
//id选择器
$("#b1").click(function () {
$("#one").css("background-color","red");
});
//<input type="button" value=" 改变元素名为 <div> 的所有元素的背景色为 红色" id="b2"/>
//标签名选择器
$("#b2").click(function () {
$("div").css("background-color","red");
});
//<input type="button" value=" 改变 class 为 mini 的所有元素的背景色为 红色" id="b3"/>
//类选择器
$("#b3").click(function () {
$(".mini").css("background-color","red");
});
//<input type="button" value=" 改变所有的<span>元素和 id 为 two 的元素的背景色为红色" id="b4"/>
//并列选择器
$("#b4").click(function () {
$("span,#two").css("background-color","red");
});
</script>
二、层级选择器
<script type="text/javascript">
//----------------------层级选择器----------------------------------------
//<input type="button" value=" 改变 <>body 内所有 <div> 的背景色为红色" id="b1"/> ---A B
$("#b1").click(function () {
$("body div").css("background-color","red");
});
//<input type="button" value=" 改变 <body> 内 子 <div> 的背景色为 红色" id="b2"/> ---A>B
$("#b2").click(function () {
$("body > div").css("background-color","red");
});
</script>
三、属性选择器
- (1)如果选择器中有多个条件 $("[][][]")
- (2)*= 表示含有某个字符 test es
<script type="text/javascript">
<!--属性选择器-->
//<input type="button" value=" 含有属性title 的div元素背景色为红色" id="b1"/>
$("#b1").click(function () {
$("div[title]").css("background-color","red");
});
// <input type="button" value=" 属性title值等于test的div元素背景色为红色" id="b2"/>
$("#b2").click(function () {
$("div[title='test']").css("background-color","red");
});
//<input type="button" value="选取有属性id的div元素,然后在结果中选取属性title值含有“test”的 div 元素背景色为红色" id="b7"/>
//如果选择器中有多个条件 $("[][][]")
//*= 表示含有某个字符
$("#b7").click(function () {
$("div[id][title*='test']").css("background-color","red");
});
</script>
四、基本过滤选择器
- (1)索引顺序,就是标签顺序
- (2)header指的是h1~h6
<script type="text/javascript">
//<input type="button" value=" 改变第一个 div 元素的背景色为 红色" id="b1"/>
$("#b1").click(function () {
$("div:first").css("backgroundColor","red");
});
//<input type="button" value=" 改变最后一个 div 元素的背景色为 红色" id="b2"/>
$("#b2").click(function () {
$("div:last").css("backgroundColor","red");
});
//<input type="button" value=" 改变class不为 one 的所有 div 元素的背景色为 红色" id="b3"/>
$("#b3").click(function () {
$("div:not(.one)").css("backgroundColor","red");
});
//<input type="button" value=" 改变索引值为偶数的 div 元素的背景色为 红色" id="b4"/>
$("#b4").click(function () {
$("div:even").css("backgroundColor","red");
});
//<input type="button" value=" 改变索引值为奇数的 div 元素的背景色为 红色" id="b5"/>
$("#b5").click(function () {
$("div:odd").css("backgroundColor","red");
});
//<input type="button" value=" 改变索引值为大于 3 的 div 元素的背景色为 红色" id="b6"/>
$("#b6").click(function () {
$("div:gt(3)").css("backgroundColor","red");
});
//<input type="button" value=" 改变索引值为等于 3 的 div 元素的背景色为 红色" id="b7"/>
$("#b7").click(function () {
$("div:eq(3)").css("backgroundColor","red");
});
//<input type="button" value=" 改变索引值为小于 3 的 div 元素的背景色为 红色" id="b8"/>
$("#b8").click(function () {
$("div:lt(3):even").css("backgroundColor","red");
});
//<input type="button" value=" 改变所有的标题元素的背景色为 红色" id="b9"/>
$("#b9").click(function () {
$(":header").css("backgroundColor","red");
});
</script>
五、表单属性过滤器
(1)表单属性过滤器
一般针对表单form标签 里面的元素
<script type="text/javascript">
//<input type="button" value=" 利用 jQuery 对象的 val() 方法改变表单内可用 <input> 元素的值" id="b1"/>
$("#b1").click(function () {
//inputEles = [js对象,js对象]
var inputEles = $("input[type='text']:enabled");
for(var i=0; i<inputEles.length; i++){
//alert(inputEles[i].value); //js对象
alert($(inputEles[i]).val()); //转为jquery对象
}
});
// <input type="button" value=" 利用 jQuery 对象的 val() 方法改变表单内不可用 <input> 元素的值" id="b2"/>
$("#b2").click(function () {
//inputEles = [js对象,js对象]
var inputEles = $("input[type='text']:disabled");
for(var i=0; i<inputEles.length; i++){
//alert(inputEles[i].value); //js对象
alert($(inputEles[i]).val()); //转为jquery对象
}
});
//<input type="button" value=" 利用 jQuery 对象的 length 属性获取复选选框选中的个数" id="b3"/>
$("#b3").click(function () {
var checkEles = $("input[type='checkbox']:checked");
alert(checkEles.length);
});
// <input type="button" value=" 利用 jQuery 对象的 text() 方法获取下拉框选中的内容" id="b4"/>
$("#b4").click(function () {
var optionEles = $("option:selected");
for(var i=0; i<optionEles.length; i++){
alert($(optionEles[i]).text());
}
});
</script>