Javascript tìm phần tử con theo lớp

Để lấy một phần tử con hoặc nhiều phần tử con, bạn có thể sử dụng các hàm querySelectorAll hoặc QuerySelector. Có, đây có thể là cả ở cấp độ tài liệu và các yếu tố tiếp theo. Vì vậy, nếu bạn biết cách sử dụng QuerySelector(all), bạn có thể tiếp tục và sử dụng nó, nếu không, có một ví dụ cho bạn ngay tại đây. querySelector và querySelectorAll là các hàm javascript gốc và do đó bạn không cần bất kỳ thư viện nào

Chọn tất cả trẻ em với một lớp học cụ thể

Trên blog này, đoạn mã HTML sau đây dành cho nội dung bài đăng và thanh bên

Nếu chúng tôi đã chọn phần tử hậu nội dung và bây giờ muốn lấy các thanh bên, chúng tôi có thể gọi querySelectorAll('.sidebar') để lấy tất cả các phần tử con của thanh bên

//root element
var postContent = document.querySelector('.post-content');
//get children
var postContentSidebars = postContent.querySelectorAll('.sidebar'); 

Biến sẽ chứa tất cả các biến con có lớp "sidebar". Bạn có thể làm tương tự với các thuộc tính

//get children with sidebar attribute
var postContentSidebars = postContent.querySelectorAll('[sidebar]'); 

Tất nhiên, điều này sẽ yêu cầu họ phải có thuộc tính này, vì vậy HTML sẽ phải giống như sau


đó là nó

Tôi tin rằng đây là cách dễ nhất để tìm các phần tử con của một phần tử với bất kỳ bộ chọn truy vấn cụ thể nào. Tôi hy vọng đây là những gì bạn đang tìm kiếm, xin vui lòng cho tôi biết suy nghĩ của bạn trong phần bình luận bên dưới

Trong bài viết này, chúng ta sẽ học cách lấy phần tử con của phần tử cha bằng Javascript. Đưa ra một tài liệu HTML và nhiệm vụ là chọn một phần tử cụ thể và lấy tất cả các phần tử con của phần tử cha với sự trợ giúp của JavaScript. Đối với điều này, có 2 cách để lấy phần tử con

  • Bằng cách sử dụng tài sản trẻ em
  • Bằng cách sử dụng Phương thức querySelector

Chúng tôi sẽ thảo luận về cả hai cách tiếp cận và hiểu cách triển khai của chúng thông qua các ví dụ

Thuộc tính DOM con được sử dụng để trả về HTMLcollection của tất cả các phần tử con của phần tử đã chỉ định.  

Cách tiếp cận 1

  • Chọn một phần tử có phần tử con sẽ được chọn
  • Sử dụng. thuộc tính children để có quyền truy cập vào tất cả các phần tử con của phần tử
  • Chọn đứa trẻ cụ thể dựa trên chỉ mục

ví dụ 1. Ví dụ này thực hiện các. children để lấy HTMLcollection của tất cả các phần tử con của phần tử đã chỉ định

HTML




<html>

 

<head>

    <<0<1<0>

    <<6>

    <9

html0_______11_______1

html0_______11_______3

    html5

html6

    html8

html0_______12_______0

html0_______11_______3

html0_______12_______4

    html5

    >8_______10_______6>

>8head>

 

< 6 <6 8 9>

    <<3 <6 8<6<7

html0_______10_______9

    >8_______10_______3>

    <head6 head7 8head9 <6 8>2html51head6>

Sự miêu tả. Nhận các phần tử con của mỗi phần tử trong tập hợp các phần tử phù hợp, được lọc tùy chọn bởi bộ chọn

  • phiên bản thêm. 1. 0

    • bộ chọn

      Loại.

      Một chuỗi chứa biểu thức bộ chọn để so khớp các phần tử với

Đưa ra một đối tượng jQuery đại diện cho một tập hợp các phần tử DOM, phương thức .children() cho phép chúng ta tìm kiếm thông qua các phần tử con của các phần tử này trong cây DOM và xây dựng một đối tượng jQuery mới từ các phần tử phù hợp. Phương pháp .children() khác với phương pháp .find() ở chỗ .children() chỉ di chuyển một cấp xuống cây DOM trong khi .find() có thể di chuyển xuống nhiều cấp để chọn các phần tử con cháu (cháu, v.v. ) cũng. Cũng lưu ý rằng giống như hầu hết các phương thức jQuery, .children() không trả về các nút văn bản;

Phương thức .children() tùy ý chấp nhận biểu thức bộ chọn cùng loại mà chúng ta có thể chuyển đến hàm

$( "ul.level-2" ).children().css( "background-color", "red" );

3. Nếu bộ chọn được cung cấp, các phần tử sẽ được lọc bằng cách kiểm tra xem chúng có khớp với bộ chọn đó không

Xem xét một trang có danh sách lồng nhau cơ bản trên đó

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<ul class="level-1">

<li class="item-i">Ili>

<li class="item-ii">II

<ul class="level-2">

<li class="item-a">Ali>

<li class="item-b">B

<ul class="level-3">

<li class="item-1">1li>

<li class="item-2">2li>

<li class="item-3">3li>

ul>

li>

<li class="item-c">Cli>

ul>

li>

<li class="item-iii">IIIli>

ul>

Nếu chúng ta bắt đầu ở danh sách cấp 2, chúng ta có thể tìm thấy các con của nó

1

$( "ul.level-2" ).children().css( "background-color", "red" );

Kết quả của cuộc gọi này là nền đỏ phía sau các mục A, B và C. Vì chúng tôi không cung cấp biểu thức bộ chọn, nên tất cả phần tử con đều là một phần của đối tượng jQuery được trả về. Nếu chúng tôi đã cung cấp một cái, thì chỉ những mặt hàng phù hợp trong số ba mặt hàng này mới được đưa vào