我有一些代码这样做:
var changes = document.getElementsByName(from);
for (var c=0; c<changes.length; c++) {
var ch = changes[c];
var current = new String(ch.innerHTML);
etc.
}
在FF和Chrome中可以正常工作,但在IE7中则不能。大概是因为getElementsByName在IE中无法正常工作。最好的解决方法是什么?
如果您不知道为什么这在IE中不起作用,请参见该函数的MSDN文档:
使用getElementsByName方法时,将返回文档中具有指定NAME属性或ID属性值的所有元素。
同时支持NAME属性和ID属性的元素包含在getElementsByName方法返回的集合中,但是具有NAME
expando的元素不包含在该集合中。因此,该方法不能用于按名称检索自定义标签。
Firefox允许getElementsByName()
检索使用NAMEexpando的元素,这就是它起作用的原因。这是否是一件好事™尚待辩论,但这就是事实。
因此,一种选择是使用getAttribute()
DOM方法询问NAME属性,然后测试该值以查看它是否是您想要的,如果是,则将其添加到数组中。但是,这将需要您遍历页面中或至少在子节中的所有节点,而这并不是最有效的。您可以通过使用诸如此类的方法预先约束该列表getElementsByTagName()
。
如果您可以控制页面的HTML,则另一种方法是给所有感兴趣的元素提供一个ID,该ID仅随数字而变化,例如:
<div id="Change0">...</div>
<div id="Change1">...</div>
<div id="Change2">...</div>
<div id="Change3">...</div>
然后使用如下JavaScript:
// assumes consecutive numbering, starting at 0
function getElementsByModifiedId(baseIdentifier) {
var allWantedElements = [];
var idMod = 0;
while(document.getElementById(baseIdentifier + idMod)) { // will stop when it can't find any more
allWantedElements.push(document.getElementById(baseIdentifier + idMod++));
}
return allWantedElements;
}
// call it like so:
var changes = getElementsByModifiedId("Change");
当然,这是一种黑客手段,但是它可以完成您所需的工作,并且与其他一些黑客工具相比,效率不会太低。
如果您使用某种JavaScript框架/工具包,那么您的选择会更好一些,但是除非您指出您正在使用,否则我没有时间来讨论这些细节。就个人而言,我不知道没有人的人如何生活,他们节省了太多的时间,精力和挫折感,以至于您负担不起
不 使用一个人的负担。
Bootstrap 3 for IE7 Bootstrap 3 dropped support for Internet Explorer 7, but you can add it back by simply adding this conditional CSS. <!--[if lt IE 8]> <link href="/css/bootstrap-ie7.css" rel="st
IE7.js 是一个 JavaScript 库主要用来解决 IE 浏览器的兼容性问题,包括很多 HTML 和 CSS 问题已经 PNG 透明图像的问题。
问题内容: 我想在IE7和IE8中实现框阴影。我已经尝试了一切而没有成功。这是我用来将彩色阴影应用于div的css: 这个ie-css3.htc文件是IE影子问题的解决方案。但这只会产生黑色阴影,而不会产生彩色阴影。我试过了: 但是它会产生定向阴影,而我想要一个全向阴影。也尝试过模糊滤镜,但它需要具有其他div,这在我当前的情况下是不建议的。关于这个问题有专家意见吗? 问题答案: 使用CSS3PI
问题内容: 抱歉,我的无能,但经过数周的熬夜并仅使我的网站在线后,我没有任何余力来调试…我只是无法使用Google在IE6和IE7上实现JSON …我正在使用 据我了解,JSON不是内置在IE6-7上的,而是必须以内联代码动态添加的……您该怎么做? 我已经有了jQuery-我的正确理解是他们的JSON引擎依赖于浏览器本机吗? 然后对使IE6-7失败的无效JSON代码发表一些评论,但我认为它不是IE
问题内容: 我需要在Internet Explorer 7中调试JavaScript。 不幸的是,它的默认调试器没有为我提供很多信息。它告诉我页面上显示了错误(不是特定的脚本),并给了我一个行号。我不知道这是否与我的问题有关。 如果可以将错误缩小到特定脚本的行号(如Firebug可以),那就太好了。 是否像Firefox中的Firebug一样在IE7中调试JavaScript? 谢谢! 问题答案:
问题内容: 我想用标题栏创建一个简单的框,其中包含标题和一些工具按钮。我有以下标记: 这个可以解决吗? 问题答案: 在最外面的div中指定宽度。如果内容div中的宽度表示此框的总宽度,则只需将其添加到最外面的div中,然后(可选)将其从内容中删除,如下所示: