Home > Web Front-end > Front-end Q&A > jquery gets the value of the child element

jquery gets the value of the child element

WBOY
Release: 2023-05-23 13:23:37
Original
1177 people have browsed it

In front-end development, we often need to obtain the value of the child elements of an element. If there are few child elements, it is not too troublesome to manually obtain them one by one, but if there are many child elements, or the number is uncertain, then this method is undoubtedly not feasible. At this time, with the help of the powerful function of jQuery, we can easily get the value of the sub-element under an element.

First, let’s look at an example. Suppose we have the following HTML code:

<div id="container">
  <div class="child">第1个子元素</div>
  <div class="child">第2个子元素</div>
  <div class="child">第3个子元素</div>
  <div class="child">第4个子元素</div>
  <div class="child">第5个子元素</div>
</div>
Copy after login

Now we need to get the value of the 3rd child element. According to jQuery's syntax, we can use the following code:

var thirdChild = $('#container .child:eq(2)').text();
alert(thirdChild);
Copy after login

Here we use jQuery's selector syntax, that is, first select the container element through $('#container'), and then use .child specifies the class name of the child element to be obtained, and finally uses :eq(2) to specify that the third child element is to be obtained. Note that the index here is calculated from 0, so use 2 instead of 3.

We can also use some other jQuery selector syntax, such as using :first to get the value of the first child element, and using :last to get the last child element. The value of the element, use :odd and :even to get the value of all odd and even child elements, etc.

var firstChild = $('#container .child:first').text();
var lastChild = $('#container .child:last').text();
var oddChildren = $('#container .child:odd').text();
var evenChildren = $('#container .child:even').text();
alert(firstChild);
alert(lastChild);
alert(oddChildren);
alert(evenChildren);
Copy after login

In addition to using selector syntax, we can also use jQuery's children() function to get all the child elements of an element, and then index them through eq() Specify which child element value is to be obtained. For example:

var thirdChild = $('#container').children('.child').eq(2).text();
alert(thirdChild);
Copy after login

The code here is very similar to the first example, the only difference is the use of the children() function and the eq() index.

It should be noted that during the actual development process, there may be situations where the number of sub-elements is uncertain, such as content dynamically loaded through Ajax. At this time, we can first use the children() function to obtain all child elements, and then use the .length attribute to obtain the number of child elements, and then dynamically generate an index to obtain the value of the child element. . For example:

var numChildren = $('#container').children('.child').length; // 获取子元素的数量
for(var i=0; i<numChildren; i++) {
  var childText = $('#container').children('.child').eq(i).text(); // 动态生成索引获取每个子元素的值
  alert('第' + (i+1) + '个子元素的值是:' + childText);
}
Copy after login

In the above code, we use the for loop and string splicing function to obtain the values ​​of all sub-elements in batches and display them one by one.

Finally, it should be noted that in jQuery, .eq() and :eq() have the same function, which is to obtain the elements in the collection based on the index. Functions and selector syntax for specifying elements. But in some cases, because the selector needs to be simplified, it may be easier to understand and write using the :eq() syntax.

The above is the detailed content of jquery gets the value of the child element. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template