Bạn có thể sử dụng chức năng JavaScript dưới đây,
function contains[selector, text] {
var elements = document.querySelectorAll[selector];
return Array.prototype.filter.call[elements, function[element]{
return RegExp[text].test[element.textContent];
}];
}
Và gọi bằng cách sử dụng
var results = contains['a', 'print']; // find "a" that contain "print"
var results = contains['a', /^print/]; // find "a" that start with "print"
var results = contains['a', /print$/i]; // find "a" that end with "print", case-insensitive
Nguồn
Giới thiệu
JavaScript được sử dụng rộng rãi để truy xuất hoặc sửa đổi nội dung hoặc giá trị của các phần tử HTML trên trang web, cũng như hiển thị, ẩn hoặc áp dụng hình ảnh động cho các yếu tố khác nhau trong Dom. & NBSP; nhưng trước khi bạn có thể thực hiện bất kỳ hành động nào trong số này Bạn cần truy vấn trước và chọn phần tử HTML từ DOM.
JavaScript đi kèm với nhiều phương thức hiệu quả cho phép bạn chọn các phần tử từ DOM. Trong bài đăng trên blog này, chúng tôi sẽ xem qua các phương pháp này và sẽ học cách sử dụng chúng.
Phương pháp getEuityByid
Như tên phương thức cho thấy, tên phương thức này chọn các phần tử từ DOM dựa trên thuộc tính ID của phần tử HTML. Nó chấp nhận một tham số duy nhất trong định dạng chuỗi đại diện cho ID của phần tử cần được chọn. Nếu phần tử được tìm thấy trong DOM, nó sẽ trả về đối tượng phần tử đại diện cho phần tử DOM. Nếu không có trận đấu nào được tìm thấy, nó chỉ đơn giản là trả về null.
Xem xét ví dụ sau,
- C# Corner "home" href="//www.c-sharpcorner.com">C# Corner
Trong ví dụ trên, để chọn thẻ neo, chúng tôi chỉ có thể sử dụng mã JavaScript sau.
- let href = document.getElementById['home']; href = document.getElementById['home'];
Phương thức getEuityByID sẽ truy vấn và chọn phần tử thẻ neo sẽ lưu trữ phần tử đó bên trong biến HREF. & NBSP;
Thông thường, một ID là duy nhất trong một trang web. Nếu có nhiều phần tử trên trang HTML có cùng ID, & nbsp; phương thức getEuityById sẽ trả về phần tử đầu tiên chứa ID từ tài liệu.
GetElementsByClassName Phương thức:
Phương thức & NBSP; Tuy nhiên, phương thức này truy vấn các phần tử DOM dựa trên tên lớp thay vì ID và trả về một đối tượng giống như mảng có tên HTMLCollection. Nếu không tìm thấy các phần tử phù hợp nào trong DOM, nó sẽ chỉ trả lại một HTMLCollection trống.
Xem xét ví dụ sau,
- Home class="link" href="./index.html">Home
- Services class="link" href="./services.html">Services
- About class="link" href="./about.html">About
- Contact class="link" href="./contact.html">Contact
- & nbsp; & nbsp; & nbsp; & nbsp;
Trong ví dụ trên, chúng tôi có 4 thẻ neo với liên kết tên lớp. Để chọn các liên kết này, chúng tôi có thể sử dụng mã JavaScript sau.
- let & nbsp; link & nbsp; = & nbsp; document.getelementsbyClassName ['link']; & nbsp;'link'];
Như bạn có thể thấy trong mã trên, chúng tôi đang sử dụng phương thức getElsionSbyClassName với liên kết tên lớp làm đối số. Điều này sẽ chọn tất cả các thẻ neo trong ví dụ và sẽ thêm chúng vào một htmlCollection sẽ được lưu trữ bên trong biến liên kết.
phương thức getElementsByTagName
Phương thức getElementsByTagName truy vấn các phần tử DOM bằng tên thẻ và & nbsp; trả về một đối tượng giống như mảng có tên HTMLCollection. Nếu không tìm thấy các phần tử phù hợp nào trong DOM, nó sẽ chỉ trả lại một HTMLCollection trống.
Xem xét ví dụ sau,
- Home "./index.html">Home
- Services "./services.html">Services
- About "./about.html">About
- Contact "./contact.html">Contact
- & nbsp; & nbsp; & nbsp; & nbsp;
Trong ví dụ trên, chúng tôi có 4 thẻ neo với liên kết tên lớp. Để chọn các liên kết này, chúng tôi có thể sử dụng mã JavaScript sau.
- let links = document.getElementsByTagName['a']; 'a'];
let & nbsp; link & nbsp; = & nbsp; document.getelementsbyClassName ['link']; & nbsp;
Như bạn có thể thấy trong mã trên, chúng tôi đang sử dụng phương thức getElsionSbyClassName với liên kết tên lớp làm đối số. Điều này sẽ chọn tất cả các thẻ neo trong ví dụ và sẽ thêm chúng vào một htmlCollection sẽ được lưu trữ bên trong biến liên kết.
phương thức getElementsByTagName
Phương thức getElementsByTagName truy vấn các phần tử DOM bằng tên thẻ và & nbsp; trả về một đối tượng giống như mảng có tên HTMLCollection. Nếu không tìm thấy các phần tử phù hợp nào trong DOM, nó sẽ chỉ trả lại một HTMLCollection trống.
- Home class="link" href="./index.html">Home
- Services class="link" href="./services.html">Services
- About class="link" href="./about.html">About
- Contact class="link" href="./contact.html">Contact
- & nbsp; & nbsp; & nbsp; & nbsp;
Trong ví dụ trên, chúng tôi có 4 thẻ neo với liên kết tên lớp. Để chọn các liên kết này, chúng tôi có thể sử dụng mã JavaScript sau.
- let link = document.querySelector['a']; 'a'];
let & nbsp; link & nbsp; = & nbsp; document.getelementsbyClassName ['link']; & nbsp;
Như bạn có thể thấy trong mã trên, chúng tôi đang sử dụng phương thức getElsionSbyClassName với liên kết tên lớp làm đối số. Điều này sẽ chọn tất cả các thẻ neo trong ví dụ và sẽ thêm chúng vào một htmlCollection sẽ được lưu trữ bên trong biến liên kết.
- let link = document.querySelector['.link']; '.link'];
phương thức getElementsByTagName
Phương thức getElementsByTagName truy vấn các phần tử DOM bằng tên thẻ và & nbsp; trả về một đối tượng giống như mảng có tên HTMLCollection. Nếu không tìm thấy các phần tử phù hợp nào trong DOM, nó sẽ chỉ trả lại một HTMLCollection trống.
- let link = document.querySelector['a[href="./about.html"]']; 'a[href="./about.html"]'];
Xem xét ví dụ sau,
Trong ví dụ trên, chúng tôi muốn chọn các thẻ neo bằng JavaScript. Chúng tôi có thể dễ dàng làm điều đó bằng cách sử dụng mã JavaScript sau.
Phương thức getElsementsByTagName sẽ chỉ cần nhận tất cả các thẻ neo từ DOM và sẽ thêm chúng vào một đối tượng HTMLCollection sẽ được lưu trữ bên trong biến liên kết.
- Home class="link" href="./index.html">Home
- Services class="link" href="./services.html">Services
- About class="link" href="./about.html">About
- Contact class="link" href="./contact.html">Contact
- & nbsp; & nbsp; & nbsp; & nbsp;
Trong ví dụ trên, chúng tôi có 4 thẻ neo với liên kết tên lớp. Để chọn các liên kết này, chúng tôi có thể sử dụng mã JavaScript sau.
- let anchors = document.querySelectorAll['a']; 'a'];
- let links = document.querySelectorAll['.link']; '.link'];
Để biết thêm thông tin,
- //developer.mozilla.org/en-US/docs/Web/API/Document/getElementById
- //developer.mozilla.org/en-us/docs/web/api/document/getelementsbyClassName
- //developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByTagName
- //developer.mozilla.org/en-US/docs/Web/API/Document/querySelector
- //developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll