01/10/2018, 09:14

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 ạ?

Vu Van Chung viết 11:19 ngày 01/10/2018

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

HuJunPiO viết 11:25 ngày 01/10/2018

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

Vu Van Chung viết 11:17 ngày 01/10/2018

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

HuJunPiO viết 11:24 ngày 01/10/2018

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?

Đào An viết 11:17 ngày 01/10/2018

Thay # bằng dấu . Nha202020

Bài liên quan
0