In jQuery, traversing means moving through or over the HTML elements to find, filter or select a particular or entire element.
Based on the traversing purposes following methods are Categorized as follows:
Tree Traversing:
Ancestors:
-
parent()
it gives parent element of specified selector
Syntax:$(selector).parent();
-
parents()
it gives all ancestor elements of the specified selector.
Syntax: $(selector).parents();
-
parentsUntil()
it gives all ancestor elements between specified selector and arguments.
Syntax:$(selector).parentsUntil(selector, filter element)
$(selector).parentsUntil(element, filter element)
-
offsetParent()
it gives the first positioned parent element of specified selector.
Syntax:$(selector).offsetParent();
-
closest()
it gives the first ancestor of the specified selector.
Syntax:$(selector).closest(selector);
$(selector).closest(selector, context);
$(selector).closest(selection);
$(selector).closest(element);
Descendants:
-
children()
it gives the children of each selected elements, optionally filtered by a selector.
Syntax:$(selector).children();
-
find()
it gives descendant elements of specified elements, filtered by a selector, jQuery object, or element.
Syntax:$(selector).find('selector to find');
Siblings:
siblings()
it gives all siblings of the specified selector.
Syntax:
$(selector).siblings();
-
next()
it gives the next sibling element of the specified selector.
Syntax:$(selector).next();
-
nextAll()
it gives all next sibling elements of the specified selector.
Syntax:$(selector).nextAll();
-
nextUntil()
it gives all next sibling elements between specified selector and arguments.
Syntax:$(selector).nextUntil();
-
prev()
it gives the previous sibling element of the specified selector.
Syntax:$(selector).prev(selector);
$(selector).prev()
-
prevAll()
it gives all previous sibling elements of the specified selector.
Syntax:$(selector).prevAll(selector, filter element)
$(selector).prevAll(element, filter element)
-
prevUntil()
it gives all previous sibling elements between specified selector and arguments.
Syntax:$(selector).prevUntil(selector, filter element)
$(selector).prevUntil(element, filter element)
Filtering
-
first()
it gives the first element of the specified selector.
Syntax:$(selector).first();
-
last()
it gives the last element of the specified selector.
Syntax:$(selector).last();
-
eq()
it gives an element with a specific index number of the specified selector.
Syntax: $(selector).eq(index);
$(selector).eq( indexFromEnd );
-
filter()
it remove/detect an elements that are matched with specified selector.
Syntax:$(selector).is(selector)
$(selector).is(function)
$(selector).is(selection)
$(selector).is(elements)
-
has()
it gives all elements that have one or more elements within, that are matched with specified selector.
Syntax:$(selector).has(selector);
-
is()
it checks if one of the specified selector is matched with arguments.
Syntax:.is( selector )
.is( function )
.is( selection )
.is( elements )
-
map()
Pass each element in the current matched set through a function, producing a new jQuery object containing the return values
Syntax:.map( callback )
-
slice()
it selects a subset of specified selector based on its argument index or by start and stop value.
Syntax:$(selector).slice(start, end );
$(selector).slice(start);
Miscellaneous Traversing
-
add()
it add all elements to set of matched elements to manipulate them at the same time.
Syntax:$(selector).add(selector to add);
-
addBack()
it add the previous set of elements on the stack to the current set, optionally filtered by a selector.
Syntax:$(selector).addBack();
-
andSelf()
Deprecated 1.8 which is alias of addBack().
Syntax:$(selector).addSelf();
-
contents()
it gives all direct children, including text and comment nodes, of the specified selector.
Syntax: $(selector).contents();
-
not()
it gives all elements that do not match with specified selector.
Syntax:$(selector).not(selector);
-
end()
it is most recent filtering operation in the current chain and return the set of matched elements to its previous state and it doesn’t accept any arguments.
Syntax:$(selector).each(callback function);
Collection Manipulation
-
each()
it iterates over the DOM elements and execute call back function
Example 1:
<!DOCTYPE html>
<html>
<head>
<style>
.siblings * {
display: block;
border: 2px solid lightgrey;
color: lightgrey;
padding: 5px;
margin: 15px;
}
</style>
<script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
</script>
<script>
$(document).ready(function() {
$("h2").siblings().css({
"color": "red",
"border": "2px solid red"
});
$("h2").parent().css({
"color": "green",
"border": "2px solid blue"
});
$("p").first().css(
"background-color", "yellow");
$("p").has("span").css(
"background-color", "indigo");
});
</script>
</head>
<body class="siblings">
<div>GeeksforGeeks (parent)
<p>GeeksforGeeks</p>
<p><span>GeeksforGeeks</span></p>
<h2>GeeksforGeeks</h2>
<h3>GeeksforGeeks</h3>
<p>GeeksforGeeks</p>
</div>
</body>
</html>
Example 2:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
p {
color: grey;
margin: 10px;
padding: 10px;
}
form {
margin: 10px;
padding: 10px;
}
#article b {
color: blue;
font-weight: bold;
}
label {
color: green;
font-weight: bold;
}
</style>
<script src=
"https://code.jquery.com/jquery-1.10.2.js">
</script>
</head>
<body>
<p><em>Hello</em>GeeksforGeeks</p>
<p id="article"><b>Article Info: </b></p>
<form>
<label>Article Title:</label>
<input type="text"
name="article"
value="jQuery |
Traversing Example 2" />
<br>
<br>
<label>Author:</label>
<input type="text"
name="author"
value="Vignesh" />
<br>
<br>
<label>Author's Email id:</label>
<input type="text"
name="author"
value="vignesh@gmail.com" />
<br>
<br>
<label>Website:</label>
<input type="text"
name="url"
value="https://www.geeksforgeeks.org/" />
<br>
<br>
</form>
<script>
$("#article")
.append($("input").map(function() {
return $(this).val();
})
.get()
.join(", "));
</script>
<script>
$("p")
.find("em")
.end()
.css("border", "2px red solid");
</script>
</body>
</html>
0 comments:
Post a Comment
Thanks