Tài liệu getElementsByClassName innerHTML không phải là một hàm

Phương thức Element getElementsByClassName() trả về một HTMLCollection trực tiếp chứa mọi phần tử hậu duệ có tên hoặc các tên lớp được chỉ định

Phương thức getElementsByClassName() trên giao diện element.getElementsByClassName('test'); 1 về cơ bản hoạt động theo cùng một cách, ngoại trừ nó hoạt động trên toàn bộ tài liệu, bắt đầu từ thư mục gốc của tài liệu

getElementsByClassName(names)

element.getElementsByClassName('test'); 2

Một chuỗi chứa một hoặc nhiều tên lớp để so khớp, được phân tách bằng khoảng trắng

Một HTMLCollection cung cấp một danh sách cập nhật trực tiếp mọi phần tử là thành viên của mọi lớp trong element.getElementsByClassName('test'); 2

Như mọi khi, bộ sưu tập được trả về đang hoạt động, nghĩa là nó luôn phản ánh trạng thái hiện tại của cây DOM bắt nguồn từ phần tử mà hàm được gọi. Khi các phần tử mới khớp với element.getElementsByClassName('test'); 2 được thêm vào cây con, chúng sẽ ngay lập tức xuất hiện trong bộ sưu tập. Tương tự, nếu một phần tử hiện có không khớp với element.getElementsByClassName('test'); 2 đã điều chỉnh tập hợp các lớp của nó sao cho khớp với nhau, nó sẽ ngay lập tức xuất hiện trong tập hợp

Điều ngược lại cũng đúng;

Ghi chú. Trong chế độ quirks, các tên lớp được so sánh theo kiểu không phân biệt chữ hoa chữ thường. Mặt khác, chúng phân biệt chữ hoa chữ thường

Để tìm kiếm các phần tử bao gồm trong số các lớp của chúng một lớp được chỉ định duy nhất, chúng tôi chỉ cung cấp tên lớp đó khi gọi getElementsByClassName()

element.getElementsByClassName('test');

Ví dụ này tìm tất cả các phần tử có lớp element.getElementsByClassName('test'); 8, cũng là phần tử con của phần tử có lớp element.getElementsByClassName('test'); 9 của document.getElementById('main').getElementsByClassName('test'); 0

document.getElementById('main').getElementsByClassName('test');

Để tìm các phần tử có danh sách lớp bao gồm cả lớp document.getElementById('main').getElementsByClassName('test'); 1 và lớp element.getElementsByClassName('test'); 8

element.getElementsByClassName('red test');

Bạn có thể sử dụng phương thức document.getElementById('main').getElementsByClassName('test'); 3 trên cú pháp mảng tiêu chuẩn hoặc HTMLCollection được trả về để kiểm tra các phần tử riêng lẻ trong tập hợp. Tuy nhiên, đoạn mã sau sẽ không hoạt động như người ta mong đợi vì lớp document.getElementById('main').getElementsByClassName('test'); 5 sẽ thay đổi ngay sau khi bất kỳ lớp document.getElementById('main').getElementsByClassName('test'); 6 nào bị xóa

const matches = element.getElementsByClassName('colorbox'); for (let i = 0; i < matches.length; i++) { matches[i].classList.remove('colorbox'); matches.item(i).classList.add('hueframe'); }

Thay vào đó, hãy sử dụng một phương pháp khác, chẳng hạn như

const matches = element.getElementsByClassName('colorbox'); while (matches.length > 0) { matches.item(0).classList.add('hueframe'); matches[0].classList.remove('colorbox'); }

Mã này tìm các phần tử hậu duệ với lớp document.getElementById('main').getElementsByClassName('test'); 6, thêm lớp document.getElementById('main').getElementsByClassName('test'); 8, bằng cách gọi document.getElementById('main').getElementsByClassName('test'); 9, sau đó loại bỏ document.getElementById('main').getElementsByClassName('test'); 6 (sử dụng ký hiệu mảng). Một phần tử khác (nếu còn lại) sẽ trở thành document.getElementById('main').getElementsByClassName('test'); 9

Chúng ta cũng có thể sử dụng các phương thức element.getElementsByClassName('red test'); 2 trên bất kỳ HTMLCollection nào bằng cách chuyển HTMLCollection làm giá trị element.getElementsByClassName('red test'); 5 của phương thức. Ở đây chúng ta sẽ tìm thấy tất cả các phần tử element.getElementsByClassName('red test'); 6 có lớp là element.getElementsByClassName('test'); 8

Tại sao InternalHTML không hoạt động?

Mọi người có thể gặp khó khăn và phàn nàn về việc InternalHTML không hoạt động. Những điều như vậy thường xảy ra do lỗi của con người, khi chuỗi không được xác định phù hợp hoặc có một số lỗi trong mã JavaScript .

Làm cách nào để lấy InternalHTML theo tên lớp trong JavaScript?

Phần tử HTML DOM getElementsByClassName() .
danh sách const = tài liệu. getElementsByClassName("ví dụ")[0]; . getElementsByClassName("con")[0]. .
phần tử const = tài liệu. getElementById("myDIV"); . getElementsByClassName("con");.
phần tử const = tài liệu. getElementById("myDIV");

Tại sao không nên sử dụng InternalHTML trong JavaScript?

InnerHTML không cung cấp xác thực hợp lệ , do đó, bất kỳ mã HTML hợp lệ nào cũng có thể được sử dụng. Điều này có khả năng phá vỡ tài liệu JavaScript. Ngay cả HTML bị hỏng cũng có thể được sử dụng, điều này có thể gây ra các sự cố không mong muốn.

Hàm getElementsByClassName() trả về cái gì?

Phương thức getElementsByClassName() trả về một tập hợp các phần tử có (các) tên lớp được chỉ định . Phương thức getElementsByClassName() trả về một HTMLCollection. Thuộc tính getElementsByClassName() là chỉ đọc.

Chủ đề