QuerySelector() is a method that can detect and obtain any HTML element from JavaScript. Although JavaScript has had methods such as getElemenById() and getElemetnsByClasNamo() to obtain HTML elements from the beginning, if you use querySelector(), Then you can selectively specify HTML elements in the jQuery sense without knowing the id attribute value, class attribute value, etc.
#In short, you can use querySelector() to retrieve any HTML element.
Let’s first look at the basic syntax of querySelector()
querySelector() will usually be executed on the target range.
document.querySelector( CSS选择器 )
In this case querySelector() will be executed on the entire document. Arbitrary HTML elements can be obtained by specifying jQuery-like CSS selectors for parameters.
It should be noted that the program will end when it obtains the first matching HTML element.
In other words, if you want to get multiple elements, you need to create a loop process, or use what we will talk about later querySelectorAll().
Let's continue to seeHow to use querySelector()?
Get the HTML element with ID and Class attributes
The example is as follows
HTML
<h1 class="sample">标题示例</h1> <p id="test">内容示例</p>
JavaScript
var elem1 = document.querySelector('.sample'); var elem2 = document.querySelector('#test'); console.log(elem1); console.log(elem2);
The running results are as follows
You can see that each parameter of querySelector() specifies a CSS selector.
Thus, the same querySelector() can also obtain any HTML element according to the parameter specification method.
It can be seen from the execution result that the element has been obtained.
Let’s look at how to use querySelectorAll()
querySelectorAll() can get multiple HTML elements.
Let’s take a look at its basic syntax first
document.querySelectorAll(CSS选择器)
In this way, the method and target range of specified parameters are the same as querySelector().
The biggest difference is that you can get all matching HTML elements!
Since queryselector() can only retrieve the first matching element, we can use querySelectorAll() to get multiple elements.
Let’s look at a specific example
HTML code
<ul> <li class="list">列表1</li> <li class="list">列表2</li> <li class="list">列表3</li> </ul>
In this example, multiple list elements are arranged.
To retrieve all elements of this list, you can do the following
JavaScript
var elem = document.querySelectorAll('.list'); console.log(elem);
In this example, the class attribute value "list" is specified as the parameter of querySelectorAll() .
This will specify all list elements, so all list items can be obtained.
Of course, you can set the "li" element as is, but be careful about balancing it with other list elements.
The elements obtained by querySelectorAll() are called NodeList, which stores a data structure similar to an array.
Below we use 'forEach' to process one element at a time, which can effectively process the array repeatedly.
var elem = document.querySelectorAll('.list'); elem.forEach(function(value) { console.log(value); })
The running results are as follows
In this example, the results obtained using querySelectorAll() are looped by the forEach statement.
By specifying the parameter "value", each HTML element can be obtained like the above results.
Note: You can perform arbitrary processing on HTML elements obtained using querySelectorAll()!
The above is the detailed content of Introduction to the method of querySelector() in JavaScript to obtain HTML elements. For more information, please follow other related articles on the PHP Chinese website!