要素トラバーサルを実装するメソッド: 1. Children()、選択した要素のすべての直接の子要素を返すことができます; 2. Closest()、これは選択した要素の最初の祖先要素を返すことができます; 3. each()、一致する要素ごとに関数を実行します; 4. filter()、指定された要素をフィルタリングできます; 5. nextAll() など。
このチュートリアルの動作環境: Windows7 システム、jquery1.10.2 バージョン、Dell G3 コンピューター。
jquery は要素を走査するためのさまざまなメソッドを提供します
##メソッド | 説明 |
add() | 一致する要素のセットに要素を追加します |
addBack() | 前の要素セットを追加します現在のコレクションへ |
children() | 選択した要素のすべての直接の子要素を返します |
closest() | 選択した要素の最初の祖先要素を返します |
contents() | 選択した要素のすべての直接の子要素を返します (テキストとコメント ノードを含む) ) |
#each()
一致する要素ごとに関数を実行します |
| #end()
現在のチェーン内の最新のフィルタリング操作を終了し、一致する要素のセットを前の状態に戻します |
| eq()
選択された要素を含む要素を返します。指定されたインデックス番号 |
#filter() |
一致する要素のセットを、セレクターまたは一致する関数の戻り値に一致する新しい要素に削減します
|
find() |
選択した要素の子孫要素を返します
|
first() |
選択した要素の最初の要素を返します選択した要素 elements
|
has() |
内部に 1 つ以上の要素を持つすべての要素を返します
|
is( ) |
selector/element/jQuery オブジェクトに基づいて一致する要素のセットを確認し、一致する要素が少なくとも 1 つある場合は true を返します
|
last() |
選択した要素の最後の要素を返します
|
map() |
現在の一致セットの各要素を関数に渡し、次の内容を含む新しい jQuery を生成します。戻り値 Object
|
next() |
選択した要素の次の兄弟要素を返します
|
nextAll() |
選択した要素の後のすべての兄弟要素を返します
|
nextUntil() |
指定された 2 つのパラメータ間の各要素の後の兄弟要素を返しますすべての兄弟要素
| #not() | 一致する要素のセットから要素を削除します
##offsetParent() |
Returns最初に配置された親要素 |
parent() |
選択した要素の直接の親要素を返します |
parents() |
選択した要素のすべての祖先要素を返します |
parentsUntil() |
指定された 2 つのパラメータの間を返します | ## の間のすべての祖先要素
#prev() | 選択した要素の前の兄弟要素を返します |
prevAll( ) | すべての兄弟要素を返します選択した要素の前 |
prevUntil() | 指定された 2 つのパラメータ間のすべての要素を返します選択した要素の前のすべての兄弟要素 |
siblings() | 選択した要素のすべての兄弟要素を返します |
slice() | 一致する要素のセットをサブセットに縮小します指定された範囲 |
#子要素を走査するには 2 つのメソッドがあります:
-
children() メソッド: 要素
# の下にある直接のサブセット要素を取得します。
- ##find() メソッド: この要素の下にあるすべてのサブセット要素 (サブセットのサブセットを含む) を取得します。
##違い:
children()メソッドは、選択した要素のすべての直接の子要素を返します (直接の子要素、孫ではなく息子のみを検索します (つまり、再帰的に走査しません)
find( ) メソッドで取得します現在の要素コレクション内の各要素の子孫 (find() メソッドはパラメータを渡す必要があり、渡さないと無効になることに注意してください)
例: すべての子要素をクエリする
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="js/jquery-1.10.2.min.js"></script>
<style>
div * {
display: block;
border: 2px solid lightgrey;
color: lightgrey;
padding: 5px;
margin: 15px;
}
</style>
<script>
$(document).ready(function() {
$("button").on("click", function() {
$("ul").find("*").css({
"color": "red",
"border": "2px solid red"
});
});
});
</script>
</head>
<body class="ancestors">
<div style="width:500px;">div (父节点)
<ul>ul (指定元素)
<li>li (子节点1)
<span>span (孙节点1)</span>
</li>
<li>li (子节点2)
<span>span (孙节点2)</span>
</li>
<li>li (子节点3)
<span>span (孙节点3)</span>
</li>
</ul>
</div>
<button>选取ul的所有子元素</button>
</body>
</html>
ログイン後にコピー
兄弟要素を走査するには 7 つのメソッドがあります:
next() メソッド
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
</head>
<body>
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li class="third-item">list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>
<script>
$('li.third-item').next().css('background-color', 'red');
</script>
</body>
</html>
ログイン後にコピー
#nextAll() メソッド<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
</head>
<body>
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li class="third-item">list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>
<script>
$('li.third-item').nextAll().css('background-color', 'red');
</script>
</body>
</html>
ログイン後にコピー
#nextUntil() メソッド
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<style>
.siblings * {
display: block;
border: 2px solid lightgrey;
color: lightgrey;
padding: 5px;
margin: 15px;
}
</style>
<script>
$(document).ready(function() {
$("li.start").nextUntil("li.stop").css({
"color": "red",
"border": "2px solid red"
});
});
</script>
</head>
<body>
<div style="width:500px;" class="siblings">
<ul>ul (父节点)
<li>li (兄弟节点)</li>
<li>li (兄弟节点)</li>
<li class="start">li (类名为"start"的兄弟节点)</li>
<li>li (类名为"start"的li节点的下一个兄弟节点)</li>
<li>li (类名为"start"的li节点的下一个兄弟节点)</li>
<li>li (类名为"start"的li节点的下一个兄弟节点)</li>
<li class="stop">li (类名为"stop"的兄弟节点)</li>
</ul>
</div>
<p>在这个例子中,我们返回在类名为“star”和类名为“stop”的 li元素之间的所有下一个兄弟元素。</p>
</body>
</html>
ログイン後にコピー
prev() メソッド
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<style>
.siblings * {
display: block;
border: 2px solid lightgrey;
color: lightgrey;
padding: 5px;
margin: 15px;
}
</style>
<script>
$(document).ready(function() {
$("li.start").prev().css({
"color": "red",
"border": "2px solid red"
});
});
</script>
</head>
<body>
<div style="width:500px;" class="siblings">
<ul>ul (父节点)
<li>li (兄弟节点)</li>
<li>li (类名为"start"的li节点的上一个兄弟节点)</li>
<li class="start">li (类名为"start"的li节点)</li>
<li>li (兄弟节点)</li>
<li>li (兄弟节点)</li>
</ul>
</div>
</body>
</html>
ログイン後にコピー
prevAll() メソッド
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<style>
.siblings * {
display: block;
border: 2px solid lightgrey;
color: lightgrey;
padding: 5px;
margin: 15px;
}
</style>
<script>
$(document).ready(function() {
$("li.start").prevAll().css({
"color": "red",
"border": "2px solid red"
});
});
</script>
</head>
<body>
<div style="width:500px;" class="siblings">
<ul>ul (parent)
<li>li (类名为"start"的li的上一个兄弟节点)</li>
<li>li (类名为"start"的li的上一个兄弟节点)</li>
<li>li (类名为"start"的li的上一个兄弟节点)</li>
<li class="start">li (类名为"start"的li节点)</li>
<li>li (兄弟节点)</li>
<li>li (兄弟节点)</li>
</ul>
</div>
<p>在这个例子中,我们返回类名称为“star”的li元素之前的所有兄弟元素。</p>
</body>
</html>
ログイン後にコピー
prevUntil() メソッド
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<style>
.siblings * {
display: block;
border: 2px solid lightgrey;
color: lightgrey;
padding: 5px;
margin: 15px;
}
</style>
<script>
$(document).ready(function() {
$("li.start").prevUntil("li.stop").css({
"color": "red",
"border": "2px solid red"
});
});
</script>
</head>
<body>
<div style="width:500px;" class="siblings">
<ul>ul (父节点)
<li class="stop">li (类名为"stop"的兄弟节点)</li>
<li>li (类名为"start"的li节点的上一个兄弟节点)</li>
<li>li (类名为"start"的li节点的上一个兄弟节点)</li>
<li>li (类名为"start"的li节点的上一个兄弟节点)</li>
<li class="start">li (类名为"start"的li节点)</li>
<li>li (兄弟节点)</li>
<li>li (兄弟节点)</li>
</ul>
</div>
<p>在这个例子中,我们返回在类名为“star”和“stop”的li元素之间的所有上一个兄弟元素,。</p>
</body>
</html>
ログイン後にコピー
[推奨学習:
jQuery ビデオ チュートリアル、webフロントエンドビデオ
]
以上がjqueryで要素トラバーサルを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。