<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>
生成一个错误,我把它放在上面的标题上。
P.S。有这些链接。鼠标单击时工作正常。
答案 0 :(得分:2)
getElementsByTagName
获取一个nodeList,一个包含所有匹配元素的数组列表。
如果你想要该集合中的第一个元素,你可以使用[0]
等访问它。
document.getElementById('previousPhoto').getElementsByTagName('a')[0].click();
对于IE8及更高版本,querySelector
/ querySelectorAll
也可用
document.querySelector("#previousPhoto a").click()
答案 1 :(得分:0)
您正在处理节点数组并尝试单击它。您必须使用索引来访问特定元素,然后单击。
document.getElementById('previousPhoto').getElementsByTagName('a'[0]).click();
获取元素previousPhoto
的子锚标记的另一种方法是querySelector
document.querySelectorAll('#previousPhoto a')[0].click()