我在页面加载时运行下面的 javascript 函数 shoh() 来隐藏 div。这适用于 html 硬编码的 div,但似乎不适用于通过 php 创建的 div。我是否正确假设 javascript 在 php 创建 div 之前首先运行,这就是为什么它们没有被隐藏?如果是这样,有没有其他方法可以在创建这些 div 后隐藏它们?如果禁用javascript,它们需要默认显示吗?
与 onload 一起运行的代码:
<script type="text/javascript">
function closeAllDivs() {
shoh('g1');
shoh('g2');
shoh('g3');
shoh('g4');
}
</script>
<BODY onLoad="closeAllDivs();">
隐藏div的javascript:
function shoh(id) {
if (document.getElementById) { // DOM3 = IE5, NS6
if (document.getElementById(id).style.display == "none"){
document.getElementById(id).style.display = 'block';
filter(("img"+id),'imgin');
} else {
filter(("img"+id),'imgout');
document.getElementById(id).style.display = 'none';
}
} else {
if (document.layers) {
if (document.id.display == "none"){
document.id.display = 'block';
filter(("img"+id),'imgin');
} else {
filter(("img"+id),'imgout');
document.id.display = 'none';
}
} else {
if (document.all.id.style.visibility == "none"){
document.all.id.style.display = 'block';
} else {
filter(("img"+id),'imgout');
document.all.id.style.display = 'none';
}
}
}
}
创建 div 的 php 代码:
for ($i=0; $i < count($this->items); $i++){
<div style="display: block;" id="g<? echo $i ?>">
... code that displays items
</div>
}