jQuery選擇器——層次選擇器
阿新 • • 發佈:2018-12-26
parent > child
描述:
匹配表單中所有的子級input元素。
HTML 程式碼:
<form>
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
</form>
<input name="none" />
jQuery 程式碼:
$("form > input")
結果:
[ <input name="name" /> ]
prev + next
描述:
匹配所有跟在 label 後面的 input 元素
HTML 程式碼:
<form> <label>Name:</label> <input name="name" /> <fieldset> <label>Newsletter:</label> <input name="newsletter" /> </fieldset> </form> <input name="none" />
jQuery 程式碼:
$("label + input")
結果:
[ <input name="name" />, <input name="newsletter" /> ]
prev ~ siblings:
找到 form 元素的所有同輩 input 元素
HTML 程式碼:
<form> <label>Name:</label> <input name="name" /> <fieldset> <label>Newsletter:</label> <input name="newsletter" /> </fieldset> </form> <input name="none" />
jQuery 程式碼:
$("form ~ input")
結果:
[ <input name="none" /> ]
例項:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>層次選擇器</title>
<style type="text/css">
/*body{
background-color:#59e9f6;
}*/
div, span, p {
width: 200px;
height: 230px;
margin: 5px;
background: #aaa;
border: #000 1px solid;
float: left;
font-size: 17px;
font-family: Arial;
font-family: Verdana;
}
div.mini {
width: 80px;
height: 80px;
background-color: #aaa;
font-size: 12px;
font-family: Arial;
}
div.hide {
display: none;
}
</style>
<!-- 引入jQuery -->
<script src="Scripts/jquery-1.11.3.js"></script>
<script type="text/javascript">
$(document).ready(function () {
//手動重置頁面元素
$("#reset").click(function () {
$("*").removeAttr("style");
$("div[class=none]").css({ "display": "none" });
});
//判斷是否自動重置
$("input[type=button]").click(function () {
if ($("#isreset").is(":checked")) {
$("#reset").click();
}
});
//給id為mover的元素新增動畫.
function animateIt() {
$("#mover").slideToggle("slow", animateIt);
}
animateIt();
})
$(function () {
//選擇 body內的所有div元素 \\\\\\\\\\\\\\\\\
$("#btn1").on("click", function () {
$("body div").css("background","red");
});
//在body內的選擇 元素名是div 的子元素.59e9f6
$("#btn2").on("click", function () {
$("div>div").css("background", "red");
});
//選擇 所有class為one 的下一個div元素.
$("#btn3").on("click", function () {
$(".one+div").css("background", "red");
});
//選擇 id為two的元素後面的所有div兄弟元素.
$("#btn4").on("click", function () {
$("#two~div").css("background", "red");
});
});
</script>
</head>
<body>
<h3>層次選擇器.</h3>
<button id="reset">手動重置頁面元素</button>
<input type="checkbox" id="isreset" checked="checked" /><label for="isreset">點選下列按鈕時先自動重置頁面</label><br /><br />
<input type="button" value="選擇 body內的所有div元素." id="btn1" />
<input type="button" value="在body內,選擇子元素是div的。" id="btn2" />
<input type="button" value="選擇 所有class為one 的下一個div元素." id="btn3" />
<input type="button" value="選擇 id為two的元素後面的所有div兄弟元素." id="btn4" />
<br />
<br />
<!-- 測試的元素 -->
<div class="one" id="one">
id為one,class為one的div(女警)
<div class="mini">class為mini的div(曙光)</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>
<div class="mini" title="test">class為mini,title為test的div(璐璐)</div>
</div>
<div class="one">
class為one的div(EZ)
<div class="mini">class為mini的div(琴女)</div>
<div class="mini">class為mini的div(眾星之子)</div>
<div class="mini">class為mini的div(喚潮鮫姬)</div>
<div class="mini">class為mini的div(牛頭)</div>
</div>
<div class="one">
class為one的div(奧巴馬)
<div class="mini">class為mini的div(鳳女)</div>
<div class="mini">class為mini的div(機器人)</div>
<div class="mini">class為mini的div(狗熊)</div>
<div class="mini" title="tesst">class為mini,title為tesst的div(雪人)</div>
</div>
<div style="display:none;" class="none">
style的display為"none"的div(VN)
</div>
<div class="hide">
class為"hide"的div(螃蟹)
</div>
<div>
包含input的type為"hidden"的div(飛機)
<input type="hidden" size="8" />
</div>
<div>
什麼也沒有
</div>
<span id="mover">正在執行動畫的span元素.</span>
</body>
</html>