【发布时间】:2023-03-14 07:35:01
【问题描述】:
我的 javascript 不能在 Safari 中触发,但适用于所有其他浏览器(iOS Safari、Chrome、Firefox、Opera、IE)。
我已经在所有其他浏览器(iOS Safari、Chrome、Firefox、Opera、IE)上对此进行了测试,并且在 Safari 11.1 上有效。
HTML:
body onload="showdiv('Citizenship');"
Javascript:
var pages = document.getElementsByClassName("page");
function showdiv(id_page)
{
for(var count_page=0; count_page<pages.length; count_page++)
{
str_id = pages.item(count_page).id;
if (id_page == str_id)
{
document.getElementById(str_id).style.display = 'block';
document.getElementById(str_id).focus();
} // if (id_page == str_id)
else
{
document.getElementById(str_id).style.display = 'none';
} // if (id_page == str_id) else
} // for(var count_page=0; count_page<pages.length; count_page++)
} // function showdiv(id_page)
我没有收到控制台错误消息。
该页面可以在http://www.ocetacea.net/MAT/EDLT6616/DigitalCitizenship/index.html找到
我的目标是只有“什么是数字公民?”页面加载后。
【问题讨论】:
-
这一行的目的是什么:
str_id = pages.item(count_page).id;?pages.item是函数吗? -
.item() 是一种返回 NodeList 对象中指定索引处的节点的方法。本例中的 NodeList 是页面,我在 showdiv 函数之前定义。
-
感谢您将链接发布到您的页面。我相信我现在明白了这个问题。
标签: javascript safari onload