首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError: document.getElementById(...).getElementsByTagName(...).click不是函数

TypeError: document.getElementById(...).getElementsByTagName(...).click不是函数
EN

Stack Overflow用户
提问于 2016-04-21 09:38:33
回答 2查看 3.2K关注 0票数 0

Origin source

代码语言:javascript
复制
<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>

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

附言:这里有这些链接。当我点击鼠标时,它工作得很好。

EN

回答 2

Stack Overflow用户

发布于 2016-04-21 09:43:26

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

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

代码语言:javascript
复制
document.getElementById('previousPhoto').getElementsByTagName('a')[0].click();

对于IE8和更高版本,也可以使用querySelector/querySelectorAll

代码语言:javascript
复制
document.querySelector("#previousPhoto a").click()
票数 2
EN

Stack Overflow用户

发布于 2016-04-21 09:47:35

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

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36758089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档