TypeError: document.getElementById(..).getElementsByTagName(

TypeError: document.getElementById(...).getElementsByTagName(...).click is not a function

本文关键字:getElementsByTagName getElementById document TypeError      更新时间:2023-09-26

Origin source

<script>
    document.addEventListener('keydown', function (e) {
        // 37 is left arrow, 39 is right arrow
        if (e.which === 37) {
            document.getElementById('previousPhoto').getElementsByTagName('a').click();
        } else if (e.which === 39) {
            document.getElementById('nextPhoto').getElementsByTagName('a').click();
        }
    });
</script>

生成一个错误,我将其放在上面的标题上。

附言有这些链接。当我单击鼠标时可以完美工作。

getElementsByTagName获取一个nodeList,一个包含所有匹配元素的类似数组的列表。

如果你想要该集合中的第一个元素,你可以使用 [0] 等来访问它。

document.getElementById('previousPhoto').getElementsByTagName('a')[0].click();

对于IE8及以上版本,也提供querySelector/querySelectorAll

document.querySelector("#previousPhoto a").click()

您正在处理节点数组并尝试单击它。必须使用索引访问特定元素,然后单击。

document.getElementById('previousPhoto').getElementsByTagName('a'[0]).click();

获取元素的子锚标记的另一种方法previousPhoto可以使用querySelector

document.querySelectorAll('#previousPhoto a')[0].click()

相关文章:
  • 没有找到相关文章