Discuss / JavaScript / 疑问!!!!

疑问!!!!

Topic source
var menu = document.getElementById('drink-menu');
var drinks = document.getElementsByTagName('dt');
var i, s, menu, drinks;

menu = document.getElementById('drink-menu');//这一行
menu.tagName; // 'DL'

drinks = document.getElementsByTagName('dt');//这一行
s = '提供的饮料有:';
for (i=0; i<drinks.length; i++) {
    s = s + drinks[i].innerHTML + ',';
}
alert(s);

搞不懂上面作标记的两行,是不是重复了???

Tonight_dou

#2 Created at ... [Delete] [Delete and Lock User]

我觉得不重复吧,因为第一行是通过id获取菜单列表对象,下面一行是通过标签名获取到相同标签的一个对象列表,性质不一样的

牛三金

#3 Created at ... [Delete] [Delete and Lock User]

把前面两行注释掉,也能通过。

这里看了两遍,我擦,真的是重复了,坑爹啊

廖雪峰老师,你这个在线运行js代码的平台是用哪个的?

或者大家有什么网站推荐一下,找了几个没找到比较合适的

我也认为应该删掉前两行,@廖老师

不一样啊。getElementById('drink-menu') 是根据ID来获取节点数据,由于ID一般情况下都是唯一的,所以获取到的只是一个单独的文本。

而 getElementsByTagName('dt') 是根据Tag来获取的,注意是getElements,而不是getElement,由于tag不是唯一的,所以获取到的会是一个数组,需要遍历的方式来获取数组数据。


  • 1

Reply