Để chuyển đoạn mã jQuery $("div.font-semibold.select-none:contains('You')")
sang cách sử dụng với document.querySelector
thông thường trong JavaScript, bạn cần tạo một selector CSS tương ứng. Tuy nhiên, :contains
là một pseudo-class đặc biệt của jQuery và không có trực tiếp trong CSS. Do đó, chúng ta không thể dùng document.querySelector
để trực tiếp tìm các phần tử có chứa văn bản cụ thể.
Tuy nhiên, bạn có thể sử dụng một phương pháp gián tiếp: lựa chọn tất cả các phần tử phù hợp với selector ban đầu (không kể :contains
) và sau đó lọc chúng bằng JavaScript để tìm phần tử có chứa văn bản cụ thể. Dưới đây là cách thực hiện:
- Sử dụng
document.querySelectorAll
để lựa chọn tất cả các phần tử phù hợp với selector CSS. - Lọc các phần tử này để tìm phần tử có chứa văn bản "You".
Dưới đây là đoạn mã ví dụ:
javascriptlet elements = document.querySelectorAll("div.font-semibold.select-none");
let elementContainingText = Array.from(elements).find(el => el.textContent.includes('You'));
Trong đoạn mã trên, elementContainingText
sẽ là phần tử đầu tiên trong danh sách các phần tử được chọn có chứa văn bản "You". Nếu bạn muốn tìm tất cả các phần tử phù hợp, thay vì sử dụng find
, bạn có thể dùng filter
để lọc.