Computer >> Máy Tính >  >> Lập trình >> Javascript

jQuery find ():Hướng dẫn từng bước

JQuery find() Phương thức này nghe có vẻ quen thuộc, nhưng đừng nhầm lẫn với phương thức JavaScript find()! Cả hai đều "tìm thấy" mọi thứ, nhưng những gì họ trả lại có thể hoàn toàn khác nhau. Trong JavaScript, find() phương thức chỉ có thể được gọi trên một mảng.

Nó nhận một hàm gọi lại, là một hàm được truyền cho một phương thức làm đối số, sẽ được gọi sau này. Nó tìm và trả về phần tử đầu tiên thỏa mãn các yêu cầu được nêu trong hàm gọi lại.

JQuery find() phương pháp khá khác nhau. Giống như tất cả các phương thức jQuery, nó được gọi trên một bộ chọn. Nó tìm kiếm bên trong bộ chọn đó và chỉ thao tác các phần tử con của bộ chọn đó. Mức độ thao tác cao này rất hữu ích nếu bạn muốn thay đổi một số phần tử chứ không phải những phần tử khác có trong cùng một phần tử mẹ.

Sử dụng jQuery find ()

Bây giờ chúng ta biết jQuery find() được sử dụng để chọn tất cả các phần tử con của một bộ chọn nhất định. Hãy xem một số mã ví dụ để biết cách sử dụng jQuery find() .

Hãy bắt đầu đơn giản và thêm một số phức tạp trong các phần tiếp theo. Chúng tôi có thể thao tác một phần tử sau khi tải trang để minh họa cách find() làm. Làm thế nào về việc chúng tôi thay đổi màu sắc của một số từ trong ngữ cảnh của một đoạn văn sau khi tải trang? Chúng ta sẽ bắt đầu ở đây:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<div id="main">
<h2>
jQuery find() method example
</h2>
  <p>
  This is an example paragraph. 
  </p>
  <p>We are going to change the color <span>blue</span> to the color blue.</p>
<div class="green">We are going to change the word <span>green</span> to the color green.</div> 
<p>
Every other will word will stay the same. 
</p>

</div>

Nhìn vào đoạn mã này và bạn sẽ nhận thấy bên trong phần tử

là một vài phần tử . Một trong các phần tử là phần tử con của phần tử

. còn lại là con của

với một lớp màu xanh lục. Khi đoạn văn của chúng tôi phát biểu, chúng tôi sẽ chỉ thay đổi màu của các từ được bao bọc trong . Đảm bảo rằng HTML của chúng tôi đang hiển thị trước khi chúng tôi làm điều đó:

jQuery find ():Hướng dẫn từng bước

HTML của chúng tôi đang hiển thị. Bây giờ chúng ta sẽ thay đổi màu sắc của văn bản để minh họa cho find() trong hành động. Đây là một bước tuyệt vời cho người mới bắt đầu vì chúng tôi chỉ cần thay đổi một thuộc tính CSS để đạt được điều này. Trong khi chuyển phần tử

làm bộ chọn của chúng tôi tới find() , chúng ta có thể sử dụng css() của jQuery phương pháp hiển thị các thay đổi màu sắc:

<script>
$(document).ready(() => {
  $('p').find('span').css('color', 'blue');
  $('div.green').find('span').css('color', 'green');
})
 
</script>

Trong lần sử dụng đầu tiên của find() , chúng tôi đang chọn tất cả các phần tử

. Chúng tôi sử dụng find() để định vị bất kỳ phần tử nào là con của

. Trong ví dụ này, nó chỉ có từ màu xanh lam. Sau đó, chúng tôi sử dụng css() phương pháp chuyển màu sang xanh lam.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Về cách sử dụng thứ hai của find() . Lần này, chúng tôi chọn

với lớp màu xanh lá cây và gọi find() trên đó. Phương thức đang định vị một phần tử khác là phần tử con của
.

Một lần nữa, đây chỉ là từ màu xanh lá cây. Giống như dòng đầu tiên, chúng tôi đang sử dụng css() phương pháp thay đổi màu sắc thành màu xanh lá cây.

Hãy chạy nó và xem điều gì sẽ xảy ra!

jQuery find ():Hướng dẫn từng bước

Lưu ý rằng cả hai từ blue và green đều được bao bọc trong một phần tử span không được gán lớp hoặc id. Chúng tôi vẫn có thể tách những từ đó và thay đổi màu của chúng. Như bạn có thể đoán, đó là do các phần tử mẹ của khác nhau.

là cha của của từ blue.

là cha của có chứa từ green.

Điều này xảy ra vì find() xác định vị trí con của các phần tử được sử dụng làm bộ chọn. Hãy thêm một số phức tạp và xem xét một ví dụ về danh sách việc cần làm.

jQuery find () trong một danh sách

Trong ví dụ này, chúng ta có một danh sách việc cần làm. Hôm nay chúng ta có nhiều việc phải làm, nhưng chúng ta cũng phải mua đồ ở cửa hàng để làm. Sau khi mua những mặt hàng này, chúng ta có thể đánh dấu chúng khỏi danh sách và tiếp tục ngày của mình! Đây là danh sách của chúng tôi:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<div id="main">
<h2>
To Do list example
</h2>
<ul>
  <li class="store">Go to the store
    <ul>
      <li>Trash bags</li>
      <li>Dish Soap</li>
    </ul>
  </li>
  <li>Take out the trash</li>
  <Li>Wash the dishes</Li>
</ul>
</div>

Ở đây chúng tôi có danh sách của chúng tôi. Chúng tôi có các phần tử

  • là “Đi đến cửa hàng”, “Đổ rác” và “Rửa bát”, là phần tử con của phần tử
      , là phần tử con của
      của chúng tôi với một id của "chính". Bên trong mục danh sách "Đến cửa hàng", chúng tôi có những thứ để mua tại cửa hàng. Chúng ta cần túi đựng rác và xà phòng rửa bát để hoàn thành công việc nhà ngày hôm nay. Chúng tôi đã đặt chúng dưới dạng danh sách lồng nhau khi còn nhỏ của
    • với một loại cửa hàng.

      jQuery find ():Hướng dẫn từng bước

      Bây giờ chúng tôi có thể đánh dấu các mặt hàng này khỏi danh sách sau khi chúng tôi mua chúng:

      <script>
      $(document).ready(() => {
        $('li.store').find('li').css('text-decoration', 'line-through')
      })
      </script>

      Chúng tôi chỉ có thể gạch bỏ những mục đó trong danh sách của mình bằng cách chọn

    • với loại cửa hàng và sử dụng find() để xác định vị trí các phần tử
    • con. Một lần nữa, chúng tôi đang sử dụng jQuery css() phương pháp áp dụng giá trị “line-through” cho thuộc tính “text-decoration”. Làm như vậy sẽ hiển thị các mục đã chọn với một dòng thông qua chúng:

      jQuery find ():Hướng dẫn từng bước

      Kết luận

      JQuery find() phương thức định vị tất cả các phần tử con của bộ chọn mà nó được truyền vào. find() phương thức sẽ chỉ thao tác các phần tử con này chứ không phải chính nó.

      Việc có thể phân biệt những phần tử con nào để chọn cho phép chúng tôi tổng quát và thay đổi toàn bộ các phần của trang hoặc cụ thể và chỉ thay đổi một số phần tử nhất định của trang. Chính trong sự linh hoạt này mà find() làm cho bản thân nó trở nên hữu ích nhất.

      Tìm hiểu thêm về cách học jQuery tại đây.