TypeError: document.getElementById(..).getElementsByTagName(
TypeError: document.getElementById(...).getElementsByTagName(...).click is not a function
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()
相关文章:
- 没有找到相关文章