Tôi không thể hiểu tại sao tôi không thể lấy các phần tử từ một HtmlCollection. Mã này ví dụ:Làm thế nào để bạn có được các yếu tố từ một HTMLCollection javascript
var col = (document.getElementsByClassName("jcrop-holder"));
console.log(col);
sản xuất sản lượng này trên console:
Tôi đang cố gắng để có được những đối tượng dic.jcrop-giữ nhưng tôi không thể có được nó từ col biến tôi. Không có tác phẩm nào trong số này hoạt động:
console.log(col[0]); // undefined
console.log(col.item(0)); // null
// check length of collection
console.log(col.length); // 0
Vì vậy, nếu độ dài bằng 0 tại sao bảng điều khiển hiển thị độ dài 1, cũng như các đối tượng bên trong? Khi tôi mở nút, nó chứa trẻ em. Chuyện gì vậy?
Dưới đây là một số nút được mở rộng. Tôi đã không mở rộng div.jcrop.holder vì nó quá dài. Dưới đây là trẻ em yếu tố:
Hãy thử 'document.getElementsByClassName (" jcrop-holder ") [0]' và 'document.querySelector (". jcrop-holder ")' – Tushar
Bạn nên hiển thị cho chúng tôi mã đầy đủ của bạn (hoặc ít nhất là phần mà bạn sử dụng 'console.log' và một phần nơi bạn cố gắng sử dụng nó. Có vẻ như bạn đang thay đổi lớp đó giữa thời gian bạn đăng nhập vào bảng điều khiển và thời gian bạn đang cố gắng sử dụng nó. – Buzinas
'getElementsByClassName' trả về bộ sưu tập _live_. Màu xanh nhỏ 'i' trong bảng điều khiển cho biết mảng sẽ được đánh giá _ khi bạn mở rộng nó_. Có một điều rõ ràng đang xảy ra giữa bạn lấy bộ sưu tập và 'console.log'ing các thuộc tính của nó, và bạn thực sự kiểm tra bộ sưu tập trong giao diện điều khiển. –