gpt4 book ai didi

javascript .children 无法在 Camino 浏览器中工作

转载 作者:行者123 更新时间:2023-11-30 13:39:27 24 4
gpt4 key购买 nike

这很奇怪,无论出于何种原因,获取元素的子元素在 Camino 浏览器中都不起作用。适用于所有其他浏览器。有人知道怎么修这个东西吗?谷歌没有帮助:(

var site_result_content = document.getElementById(content_id);
site_child_nodes = site_result_content.children;
alert('started');
for(i=0;i<site_child_nodes.length;i++) {
alert('cycle1');
document.getElementById(site_child_nodes[i].id).className = 'tab_content';
ShowHide(site_child_nodes[i].id,'hidden');
}

在这种情况下,调用了 started 警报,但没有调用 cycle1。

最佳答案

改用childNodeschildren 最初是 IE 中的专有属性,而 childNodes 属于 W3C DOM 规范,并且在过去十年中发布的每个主要浏览器都支持。不同之处在于 children 仅包含元素,而 childNodes 包含所有类型,尤其是文本节点和注释节点。

我已经在下面优化了您的代码。您应该使用 var 声明所有变量,包括那些在循环中使用的变量,例如 i。此外,document.getElementById(site_child_nodes[i].id) 是不必要的:如果元素没有 ID 并且与 site_child_nodes[i] 完全相同,它将失败,否则.

var site_result_content = document.getElementById(content_id);
var site_child_nodes = site_result_content.childNodes;
alert('started');
for (var i = 0, len = site_child_nodes.length; i < len; ++i) {
if (site_child_nodes[i].nodeType == 1) {
alert('cycle1');
site_child_nodes[i].className = 'tab_content';
ShowHide(site_child_nodes[i].id, 'hidden');
}
}

关于javascript .children 无法在 Camino 浏览器中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3091690/

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