gpt4 book ai didi

javascript - firstElementChild 在 Internet Explorer 7 中不起作用...我有哪些选择?

转载 作者:数据小太阳 更新时间:2023-10-29 04:05:37 27 4
gpt4 key购买 nike

考虑下面的 JavaScript:

var v;
if (this.children.length > 0) {
v = this.firstElementChild.value;
}

这适用于现代版本的 FireFox 和 Chrome,但 this.firstElementChild.value 在 Internet Explorer 7-8 中抛出异常。有没有其他方法可以让它适用于所有浏览器?

更新——最终解决方案

我选择了以下内容:

v = (this.firstElementChild || this.children[0] || {}).value --感谢大家。

最佳答案

this.firstElementChild 应该适用于所有重要的浏览器栏 IE <=9 和 Firefox 3 ( QuirksMode )。

this.children[0] 将在每个重要的浏览器栏 Firefox 3 中工作,除了 IE <=9 将注释节点计为元素节点 ( QuirksMode )。这对您来说可能是也可能不是问题。

包罗万象的系统是这样的:

var node = this.firstChild,
firstElementChild = null;

for ( ; node; node = node.nextSibling) {
if (node.nodeType === 1) {
firstElementChild = node;
break;
}
}
如果存在,

firstElementChild 将成为第一个子元素,否则为 null。出于性能原因,最好在执行循环之前查看 this.firstElementChild 是否存在。

关于javascript - firstElementChild 在 Internet Explorer 7 中不起作用...我有哪些选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6333249/

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