Javascript 显示:没有在ie中单独工作它在ff和chrome中工作

Javascript 显示:没有在ie中单独工作它在ff和chrome中工作,javascript,css,internet-explorer,Javascript,Css,Internet Explorer,嘿,伙计们,最近我在学习制表时遇到了一个奇怪的问题。。我的代码在firefox和chrome中工作得很好,但在ie的任何版本中都不起作用。当我点击tab1时,会有两个选项卡和相关内容,相应的内容会显示出来,隐藏另一个。tab2在ff和chrome中工作也一样。。但是ie在切换到其他选项卡时添加所有内容我的代码是这样的对“getElementsByName”的调用对您不起作用。我认为这是因为“name”不是元素的适当属性,但我还没有找到任何支持该概念的MSDN文档。然而,这种行为强烈地表明了这一点

嘿,伙计们,最近我在学习制表时遇到了一个奇怪的问题。。我的代码在firefox和chrome中工作得很好,但在ie的任何版本中都不起作用。当我点击tab1时,会有两个选项卡和相关内容,相应的内容会显示出来,隐藏另一个。tab2在ff和chrome中工作也一样。。但是ie在切换到其他选项卡时添加所有内容我的代码是这样的

对“getElementsByName”的调用对您不起作用。我认为这是因为“name”不是
元素的适当属性,但我还没有找到任何支持该概念的MSDN文档。然而,这种行为强烈地表明了这一点


编辑-不,看来“名称”毕竟对
元素并不合适;然而,无论什么原因,这都是你问题的原因。对“getElementsByName”的调用返回的是空节点列表,因此“for”循环没有任何作用。

这肯定与IE中的
getElementsByName
不使用
div
元素有关。不过很容易修复,因为您已经在这两个方面拥有了类,请使用
getElementsByClassName

var tabs = document.getElementsByClassName("tab");
var seltabs= document.getElementsByClassName("seltab");
工作小提琴:


注意:在IE9中测试。

如果你没有将“onLoad”设置为“no wrap(body)”,而是将小提琴控件设置为“no wrap(onLoad)”,那么它在JSFIDLE(Chrome)中工作。你有一个小的、可复制的测试用例吗?它在ie dude中不工作,这是我的问题。它在ff和chrome@pal不,伙计。。这一个本身很小,帮我摆脱这个有问题的家伙!!我同意这似乎是一个IE问题。您可以使用getElementsByTagName,然后搜索您想要的。这是客户端框架使之更容易实现的事情。感谢dude指出了问题,顺便说一句,你是如何发现getelementsbyname在IE中无法单独工作的。请解释一下,我也找到了工作解决方案。感谢ton mate。我刚刚玩了你的JSFIDLE示例,并使用调试器(在IE8中)进行了检查。