Tại sao dùng getElementByTagName lại không được?

<!DOCTYPE html>
<html>

<head>
    <title></title>
</head>

<body>
    <input type="text" name="" id="text">
    <div id='result'></div>
    <script type="text/javascript">
    var input = document.getElementsByTagName('input');
    var result = document.getElementsByTagName('div');
    input.addEventListener('keyup', function() {
        result.innerHTML = input.value;
    });
    </script>
</body>

</html>

Em có đoạn code như hình, mục đích là để khi viết gì vào ô input thì nó sẽ tự sao chép sao thẻ div. Em dùng getById thì chạy bình thường, nhưng nếu dùng getByTagName thì lại không chạy được. Các bác giải thích cho em với ạ?

Tại vì getElementsByTagName trả về một list các phần tử (elements có chữ s là số nhiều đó), chứ không phải một phần tử, nên bạn phải dùng document.getElementsByTagName(‘input’)[0], thêm chỉ số vào cho nó thì mới được

1 Like

tiện thể bác cho em hỏi. Em có đoạn: document.querySelectorAll('#dropdown > li') thì phần trong ngoặc là thế nào vậy bác, dropdown của em là một id, li là một tag name. Syntax của nó em không hiểu lắm

Chọn tất cả các tag li nằm trong các tag có id là dropdown bạn à!

Nếu tag ban đầu của em có class='dropdown' chứ không phải id thì cú pháp thế nào hả bác?

Thay # bằng dấu . Nha202020

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?