過濾選擇器:
過濾選擇器主要是通過特定的過濾規則來篩選出所需的 DOM 元素, 該選擇器都以 “:” 開頭
按照不同的過濾規則, 過濾選擇器可以分爲基本過濾, 內容過濾, 可見性過濾, 屬性過濾, 子元素過濾和表單對象屬性過濾選擇器.
一、基本過濾選擇器
改變第一個 div 元素的背景色爲 # bbffaa
改變最後一個 div 元素的背景色爲 # bbffaa
改變class不爲 one 的所有 div 元素的背景色爲 # bbffaa
改變索引值爲偶數的 div 元素的背景色爲 # bbffaa
改變索引值爲奇數的 div 元素的背景色爲 # bbffaa
改變索引值爲大於 3 的 div 元素的背景色爲 # bbffaa
改變索引值爲等於 3 的 div 元素的背景色爲 # bbffaa
改變索引值爲小於 3 的 div 元素的背景色爲 # bbffaa
改變所有的標題元素的背景色爲 # bbffaa
改變當前正在執行動畫的所有元素的背景色爲 # bbffaa
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<style type="text/css">
div, span, p {
width: 140px;
height: 140px;
margin: 5px;
background: #aaa;
border: #000 1px solid;
float: left;
font-size: 17px;
font-family: Verdana;
}
div.mini {
width: 55px;
height: 55px;
background-color: #aaa;
font-size: 12px;
}
div.hide {
display: none;
}
</style>
<script type="text/javascript" src="jquery-1.9.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
function anmateIt(){
$("#mover").slideToggle("slow", anmateIt);
}
anmateIt();
$("#btn1").click(function(){
$("div:first").css("background","#ffddaa");
})
$("#btn2").click(function(){
$("div:last").css("background","#ffddaa");
})
$("#btn3").click(function(){
$("div:not(.one)").css("background","#ffddaa");
})
$("#btn4").click(function(){
$("div:even").css("background","#ffddaa");
})
$("#btn5").click(function(){
$("div:odd").css("background","#ffddaa");
})
$("#btn6").click(function(){
$("div:gt(3)").css("background","#ffddaa");
})
$("#btn7").click(function(){
$("div:eq(3)").css("background","#ffddaa");
})
$("#btn8").click(function(){
$("div:lt(3)").css("background","#ffddaa");
})
$("#btn9").click(function(){
$(":header").css("background","#ffddaa");
})
$("#btn10").click(function(){
$(":animated").css("background","#ffddaa");
})
$("#btn11").click(function(){
$("#two").nextAll("span:first").css("background","#ffddaa");
})
});
</script>
</head>
<body>
<input type="button" value="選擇第一個 div 元素" id="btn1" />
<input type="button" value="選擇最後一個 div 元素" id="btn2" />
<input type="button" value="選擇class不爲 one 的所有 div 元素" id="btn3" />
<input type="button" value="選擇索引值爲偶數的 div 元素" id="btn4" />
<input type="button" value="選擇索引值爲奇數的 div 元素" id="btn5" />
<input type="button" value="選擇索引值爲大於 3 的 div 元素" id="btn6" />
<input type="button" value="選擇索引值爲等於 3 的 div 元素" id="btn7" />
<input type="button" value="選擇索引值爲小於 3 的 div 元素" id="btn8" />
<input type="button" value="選擇所有的標題元素" id="btn9" />
<input type="button" value="選擇當前正在執行動畫的所有元素" id="btn10" />
<input type="button" value="選擇 id 爲 two 的下一個 span 元素" id="btn11" />
<h3>基本選擇器.</h3>
<br><br>
<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>
<div class="one">
<div class="mini">class爲mini</div>
<div class="mini">class爲mini</div>
<div class="mini">class爲mini</div>
<div class="mini"></div>
</div>
<div class="one">
<div class="mini">class爲mini</div>
<div class="mini">class爲mini</div>
<div class="mini">class爲mini</div>
<div class="mini" title="tesst">class爲mini,title爲tesst</div>
</div>
<div style="display:none;" class="none">style的display爲"none"的div</div>
<div class="hide">class爲"hide"的div</div>
<div>
包含input的type爲"hidden"的div<input type="hidden" size="8">
</div>
<span id="span">^^span元素 111^^</span>
<span id="span">^^span元素 222^^</span>
<div id="mover">正在執行動畫的div元素.</div>
</body>
</html>
二、內容過濾選擇器
內容過濾選擇器的過濾規則主要體現在它所包含的子元素和文本內容上
改變含有文本 ‘di’ 的 div 元素的背景色爲 # bbffaa
改變不包含子元素(或者文本元素) 的 div 空元素的背景色爲 # bbffaa
改變含有 class 爲 mini 元素的 div 元素的背景色爲 # bbffaa
改變含有子元素(或者文本元素)的div元素的背景色爲 # bbffaa
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<style type="text/css">
div, span, p {
width: 140px;
height: 140px;
margin: 5px;
background: #aaa;
border: #000 1px solid;
float: left;
font-size: 17px;
font-family: Verdana;
}
div.mini {
width: 55px;
height: 55px;
background-color: #aaa;
font-size: 12px;
}
div.hide {
display: none;
}
</style>
<script type="text/javascript" src="jquery-1.9.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#btn1").click(function(){
$("div:contains('di')").css("background","#ffddaa");
});
$("#btn2").click(function(){
$("div:empty").css("background","#ffddaa");
});
$("#btn3").click(function(){
$("div:has(.mini)").css("background","#ffddaa");
});
$("#btn4").click(function(){
$("div:parent").css("background","#ffddaa");
8//$("div:not(:empty)").css("background","#ffddaa");
});
});
</script>
</head>
<body>
<input type="button" value="選擇 含有文本 'di' 的 div 元素" id="btn1" />
<input type="button" value="選擇不包含子元素(或者文本元素) 的 div 空元素" id="btn2" />
<input type="button" value="選擇含有 class 爲 mini 元素的 div 元素" id="btn3" />
<input type="button" value="選擇含有子元素(或者文本元素)的div元素" id="btn4" />
<br><br>
<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>
<div class="one">
<div class="mini">class爲mini</div>
<div class="mini">class爲mini</div>
<div class="mini">class爲mini</div>
<div class="mini"></div>
</div>
<div class="one">
<div class="mini">class爲mini</div>
<div class="mini">class爲mini</div>
<div class="mini">class爲mini</div>
<div class="mini" title="tesst">class爲mini,title爲tesst</div>
</div>
<div style="display:none;" class="none">style的display爲"none"的div</div>
<div class="hide">class爲"hide"的div</div>
<div>
包含input的type爲"hidden"的div<input type="hidden" size="8">
</div>
<div id="mover">正在執行動畫的div元素.</div>
</body>
</html>
三、可見性過濾選擇器可見性過濾選擇器是根據元素的可見和不可見狀態來選擇相應的元素
可見選擇器 :hidden 不僅包含樣式屬性 display 爲 none 的元素, 也包含文本隱藏域 (<input type=“hidden”>)和 visible:hidden 之類的元素
改變所有可見的div元素的背景色爲 # bbffaa
選取所有不可見的元素, 利用 jQuery 中的 show() 方法將它們顯示出來, 並設置其背景色爲 # bbffaa
選取所有的文本隱藏域, 並打印它們的值
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<style type="text/css">
div, span, p {
width: 140px;
height: 140px;
margin: 5pax;
background: #aaa;
border: #000 1px solid;
float: left;
font-size: 17px;
font-family: Verdana;
}
div.mini {
width: 55px;
height: 55px;
background-color: #aaa;
font-size: 12px;
}
div.hide {
display: none;
}
</style>
<script type="text/javascript" src="jquery-1.9.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#btn1").click(function(){
$("div:visible").css("background","#ffddaa");
});
$("#btn2").click(function(){
//alert($("div:hidden").length);
//show(time): 可以使不可見的元素變爲可見, time 表示時間
//jQuery 的很多方法支持方法的連綴, 即一個方法的返回值來時調用該
//方法的 jQuery 對象: 可以繼續調用該對象的其他方法.
$("div:hidden").show(3000).css("background","#ffddaa");
});
$("#btn3").click(function(){
alert($("input:hidden").val());
});
});
</script>
</head>
<body>
<input type="button" value="選取所有可見的 div 元素" id="btn1">
<input type="button" value="選擇所有不可見的 div 元素" id="btn2" />
<input type="button" value="選擇所有不可見的 input 元素" id="btn3" />
<br><br>
<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>
<div class="one">
<div class="mini">class爲mini</div>
<div class="mini">class爲mini</div>
<div class="mini">class爲mini</div>
<div class="mini"></div>
</div>
<div class="one">
<div class="mini">class爲mini</div>
<div class="mini">class爲mini</div>
<div class="mini">class爲mini</div>
<div class="mini" title="tesst">class爲mini,title爲tesst</div>
</div>
<div style="display:none;" class="none">style的display爲"none"的div</div>
<div class="hide">class爲"hide"的div</div>
<div>
包含input的type爲"hidden"的div
<input type="hidden" value="123456789000" size="8">
</div>
<div id="mover">正在執行動畫的div元素.</div>
</body>
</html>