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.