


Detailed explanation of the usage of jquery upward traversal, downward traversal, sibling traversal and filtering
1. Traverse upward - ancestor elements
① $(selector).parent([filter]): Returns the direct parent element of the selector matching element. The method can accept a filter selector to filter the returned parent element.
② $(selector).parents([filter]): Returns all ancestor nodes of the matching element, all the way up to the document root element html. The method can accept a filter selector to filter the returned ancestor nodes.
Note: The difference between parent and parents, parent returns the direct parent node, parents returns all ancestor nodes, and $("html").parent() returns the document node, while $ ("html").parents() returns empty.
③ $(selector).parentUntil([ancestorSelector][,filter]): Returns all ancestor nodes between the matching node and ancestorSelector. Note that the matching points of ancestorSelector are not included. The method can accept a filter selector. To filter the returned ancestor nodes, if ancestorSelector is empty or no element matching ancestorSelector is found in its ancestor nodes, all ancestor nodes are returned, which is equivalent to the parents() method.
$(selector).parentUtil(element[,ancestorSelector]): The usage and meaning are the same as above.
④ $(selector).offsetParent(): Returns the most recent positioned ancestor element of the matching element. The so-called positioned ancestor element means that its CSS position attribute is set to relative, absolute, fixed, mainly plays a great role in calculating the offset and position of elements during animation presentation.
⑤ $(selector).closest(ancestorSelector[,context]): Get the nearest ancestor element that matches ancestorSelector. The method can accept a parameter context to control the scope of the search. The difference from the parents method is as follows:
a.closest searches upward starting from the current element itself.
parents starts from the parent node element.
b.closest traverses up the DOM tree until it finds an element position matching ancestorSelector
parents traverses up the DOM tree until the root element of the document, adding each ancestor element to a temporary collection ; If a selector is applied, the collection will be filtered based on the selector
c.closest returns a jQuery object containing 0 or one element
parents returns 0, one or more The jQuery object of the element
Other transformation usage:
$(selector).closest(ancestorSelectors[,context]); $(selector).closest(jQuery object); $(selector).closest(element)
2. Traverse downward--descendant elements
① .children([childrenSelector]): Return the direct children of the element Element, method can accept a parameter to filter the returned child elements.
② .find(descendantSelector): Returns all descendant elements of the element that match descendantSelector, going all the way down to the last descendant.
Other deformation usage:
.find(jQuery object); .find(element);
③ .contents(): Returns all child elements of the element. The difference from children is that contents includes text nodes and comment nodes.
3. Sibling traversal - sibling elements
① .siblings([selector]): Returns all sibling elements of the current element. The method can receive an optional parameter to filter the returned brothers. element.
② .next([selector]): Returns the next sibling element of the current element. The method can accept an optional parameter to filter the returned sibling elements.
③ .nextAll([selector]): Returns all sibling elements after the current element. The method can accept an optional parameter to filter the returned sibling elements.
④ .nextUntil([selector][,filter]): Returns all sibling elements of the current element until it encounters a sibling element that matches the selector condition. The method can accept an optional parameter filter to filter the returned sibling elements. .
⑤ .prev/prevAll/prevUntil has the same usage and similar functions as next/nextAll/nextUntil, but the search direction is opposite.
4. Filtering
① .filter(selector): Filter the sub-sets that meet the selector conditions from the current matching element set to reduce the matching scope.
.filter(function(index)): Filter the currently matching element collection according to the callback function . The parameter index passed in by the callback function refers to the index# of the element in the collection. ##, this can be used to represent the element in the function body. The function returns true/false. If true is returned, the child element is retained, otherwise the child element is excluded.
Other transformation usage:.filter(element|jQueryObject)② .first(): Returns the first element in the current matching element set. ③ .last(): Returns the last element in the current matching element set. ④ .eq(index/-index): Returns the element at the specified position in the current matching element set. The index starts from 0, and a negative number indicates sorting from the end to the beginning. ⑤ .has(selector/element): Returns a collection of elements with specific sub-elements from the current collection of elements, excluding elements that do not have corresponding sub-elements. Child elements can be matched using the parameter selector or element object.
⑥ .is(selector|function(index)|element|jQueryObject): Check the element collection based on a selector or callback function or element or jQuery object, if it contains at least one that matches the given expression element returns true, otherwise returns false. In addition, if the current element collection is empty or the expression is empty, false is returned. This method is generally used in callback functions such as Event processinghandler to determine whether this is a specific element
⑦ .map(callback(index,domElement)): Match the current The element array is converted into another object array (whether it is a dom element or not) through the return value of the callback function. If you want to convert an ordinary jQueryObject array, you can use the jQuery.map(array,callback(objectOfArray,indexOfArray)) method.
⑧ .not(selector|elements|function(index)|jQuery object): Delete elements that meet parameter adjustment from the currently matched element array. Parameters can be selector, DOM element, ordinary jQuery objects, and A callback function that returns a boolean variable.
⑨ .slice(start[,end]): Get a subset of the specified range from the currently matched element set. If start and end are negative numbers, get the element direction from the end to the beginning.
The above is the detailed content of Detailed explanation of the usage of jquery upward traversal, downward traversal, sibling traversal and filtering. For more information, please follow other related articles on the PHP Chinese website!

Introduction I know you may find it strange, what exactly does JavaScript, C and browser have to do? They seem to be unrelated, but in fact, they play a very important role in modern web development. Today we will discuss the close connection between these three. Through this article, you will learn how JavaScript runs in the browser, the role of C in the browser engine, and how they work together to drive rendering and interaction of web pages. We all know the relationship between JavaScript and browser. JavaScript is the core language of front-end development. It runs directly in the browser, making web pages vivid and interesting. Have you ever wondered why JavaScr

Node.js excels at efficient I/O, largely thanks to streams. Streams process data incrementally, avoiding memory overload—ideal for large files, network tasks, and real-time applications. Combining streams with TypeScript's type safety creates a powe

The differences in performance and efficiency between Python and JavaScript are mainly reflected in: 1) As an interpreted language, Python runs slowly but has high development efficiency and is suitable for rapid prototype development; 2) JavaScript is limited to single thread in the browser, but multi-threading and asynchronous I/O can be used to improve performance in Node.js, and both have advantages in actual projects.

JavaScript originated in 1995 and was created by Brandon Ike, and realized the language into C. 1.C language provides high performance and system-level programming capabilities for JavaScript. 2. JavaScript's memory management and performance optimization rely on C language. 3. The cross-platform feature of C language helps JavaScript run efficiently on different operating systems.

JavaScript runs in browsers and Node.js environments and relies on the JavaScript engine to parse and execute code. 1) Generate abstract syntax tree (AST) in the parsing stage; 2) convert AST into bytecode or machine code in the compilation stage; 3) execute the compiled code in the execution stage.

The future trends of Python and JavaScript include: 1. Python will consolidate its position in the fields of scientific computing and AI, 2. JavaScript will promote the development of web technology, 3. Cross-platform development will become a hot topic, and 4. Performance optimization will be the focus. Both will continue to expand application scenarios in their respective fields and make more breakthroughs in performance.

Both Python and JavaScript's choices in development environments are important. 1) Python's development environment includes PyCharm, JupyterNotebook and Anaconda, which are suitable for data science and rapid prototyping. 2) The development environment of JavaScript includes Node.js, VSCode and Webpack, which are suitable for front-end and back-end development. Choosing the right tools according to project needs can improve development efficiency and project success rate.

Yes, the engine core of JavaScript is written in C. 1) The C language provides efficient performance and underlying control, which is suitable for the development of JavaScript engine. 2) Taking the V8 engine as an example, its core is written in C, combining the efficiency and object-oriented characteristics of C. 3) The working principle of the JavaScript engine includes parsing, compiling and execution, and the C language plays a key role in these processes.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

WebStorm Mac version
Useful JavaScript development tools

Dreamweaver Mac version
Visual web development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function
