嵌套getElementById抛出错误?

时间:2016-04-06 06:38:10

标签: javascript

为什么嵌套getElementById抛出错误? fiddle 我怎么能解决这个问题

var links = document.getElementById('menu').getElementById('one');
links.style.color="red";

但是getElementsByTagName正在运行。 fiddle

var links = document.getElementById('menu').getElementsByTagName('li');
links[0].style.color="red";

请解释原因?

帮助将不胜感激

1 个答案:

答案 0 :(得分:3)

id在文档中必须是唯一的。标签名称不是。

尝试在特定元素上调用getElementById的唯一原因是要查明具有给定ID的元素是否作为特定其他元素的后代存在,但这不是什么在设计API时考虑。

您可以使用querySelector('#someId')来实现这一目标。