我写了一个javascript声明:
var n=document.getElementById("image");
这段代码不起作用。但是当我将id改为class和语句时:
var n=document.getElementsByClassName("image");
它完美无缺。任何人都可以解释为什么我不能用id ...
先谢谢
注意:当我说工作时我的意思是变量' n'有一些价值存储。
PS:对于那些希望对这个问题竖起大拇指的人们......我要求你在这样做之前解释原因......寒意答案 0 :(得分:0)
确保在使用getElementById
时,页面中只有1个ID实例,因为它只获得第一个匹配项。虽然getElementByClassName
获取该类的所有元素。
ID - 页面中必须是唯一的
类 - 可以尽可能多地使用
答案 1 :(得分:0)
在Html中,有两种方法可以识别html标记的特定实例与一组html元素。我们以div
为例。
如果我们在UI的某个地方有一个导航栏,它将成为我们唯一的导航栏,那么我们将使用html id
来实现它。
如果我们说了一组内容,那么我们会将所有显示内容的div标记为class
。
例如,假设我们有一个单独的导航栏和3个内容框。 html看起来像:
<div id="navbar">stuff</div>
<div class="content"> content stuff</div>
<div class="content"> content stuff</div>
<div class="content"> content stuff</div>
在JS方面,如果我们使用document.getElementById()
,我们只能定位navbar
,因为只有1个html id
标记。但是,如果我们想要获得意味着使用document.getElementByClassName()
的内容div组,并且因为存在多个类,我们将返回类content
的那些html div的数组。
所以它确实取决于你的HTML。