gpt4 book ai didi

javascript - 使用在 IE 8 和 7 中不起作用的类获取标签

转载 作者:行者123 更新时间:2023-11-28 20:50:10 25 4
gpt4 key购买 nike

我的脚本

var cwidth   = document.getElementById('contentarea').clientWidth;
var elements = document.getElementsByClassName("shadow");

for(var i=0; i<elements.length; i++) {
elements[i].style.width = cwidth+"px";
var anc = elements[i].getElementsByTagName("a"); // not working in IE 7 & 8
anc[0].style.width = cwidth+"px";
}

此脚本适用于除 IE 7 和 8 之外的所有浏览器

任何人请帮助我

最佳答案

getElementsByClassName 在 IE<9 中不受支持。

在 IE8 中您可以使用:

var elements = document.querySelectorAll(".shadow");

但请记住,它不是像通过getElementsByClassName获得的实时集合。如果您想查找具有多个类的元素,则必须执行 document.querySelectorAll(".first.second");

对于 IE7,你必须依赖其他东西,比如众所周知的框架(比如 jQuery 或 Sizzle),或者像这样的函数:

var getElementsByClassName = (function(all) {
return function (cls) {
var a = [], i = 0;
for (; i < all.length; i++)
if ((" " + all[i].className + " ").indexOf(" " + cls + " ") !== -1)
a.push(all[i]);
return a;
};
})(document.all);

这也不是实时集合,而且您将无法搜索具有多个类的元素。也就是说,除非它们在 className 属性中按照您想要的顺序排列,但您不能依赖于此。你必须做一些更复杂的事情,当你在 Javascript 方面变得更有经验时,我会把它留给你。

关于javascript - 使用在 IE 8 和 7 中不起作用的类获取标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12635330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com