Câu hỏi của OP là về JavaScript thuần túy chứ không phải jQuery . Mặc dù có rất nhiều câu trả lời và tôi thích câu trả lời của @Pawan Nogariya , vui lòng kiểm tra câu trả lời thay thế này.
Bạn có thể sử dụng XPATH trong JavaScript. Thông tin thêm về bài viết MDN tại đây .
Các document.evaluate()
phương pháp đánh giá một truy vấn XPath / biểu. Vì vậy, bạn có thể chuyển các biểu thức XPATH vào đó, chuyển vào tài liệu HTML và định vị phần tử mong muốn.
Trong XPATH, bạn có thể chọn một phần tử, bằng nút văn bản như sau, whch lấy phần tử div
có nút văn bản sau.
//div[text()="Hello World"]
Để lấy một phần tử có chứa một số văn bản, hãy sử dụng như sau:
//div[contains(., 'Hello')]
Các contains()
phương pháp trong XPATH mất một nút như tham số đầu tiên và các văn bản để tìm kiếm như tham số thứ hai.
Kiểm tra đoạn này ở đây , đây là một ví dụ sử dụng XPATH trong JavaScript
Đây là một đoạn mã:
var headings = document.evaluate("//h1[contains(., 'Hello')]", document, null, XPathResult.ANY_TYPE, null );
var thisHeading = headings.iterateNext();
console.log(thisHeading); // Prints the html element in console
console.log(thisHeading.textContent); // prints the text content in console
thisHeading.innerHTML += "<br />Modified contents";
Như bạn có thể thấy, tôi có thể lấy phần tử HTML và sửa đổi nó theo ý muốn.