我想要包含一个文件(menu.php)两次,但在该文件中我有一个带ID的div。 这是menu.php:
<?php
for ($b = 1; $b <= 10; $b++)
{
$width = 220;
$width /= $b;
?>
<div id="menuH<?php print $b; ?>" style="display: none;">
<?php
for ($a = 1; $a <= $b; $a++)
{
print '<div class="voorbeeld_menuH" style="width: '.($width - 1).'px;" ><b>M</b></div>';
}
?>
</div>
<?php
}
for ($b = 1; $b <= 10; $b++)
{
?>
<div id="menuV<?php print $b; ?>" style="display: none;">
<?php
for ($a = 1; $a <= $b; $a++)
{
print '<div class="voorbeeld_menuV" ><b>M</b></div>';
}
?>
</div>
<?php
}
?>
Javascript代码:
function menu(dropdown)
{
var myindex_M = dropdown.selectedIndex;
var waarde_M = dropdown.options[myindex_M].value;
var i = 1;
var a = 1;
if(waarde_M == " - - - -")
{
for(i = 1;1 <= 10;i++)
{
document.getElementById("menuH" + i).style.display = "none";
document.getElementById("menuV" + i).style.display = "none";
}
}
for(i = 1;i <= 10;i++)
{
if(waarde_M == "Menu H " + i)
{
document.getElementById("menuH" + i).style.display = "";
for(a = 1;a <= 10;a++)
{
if(a == i) { continue; }
document.getElementById("menuH" + a).style.display = "none";
}
}
}
}
我希望将其包括在内:
<?php
include("Menu.php");
for ($b = 1; $b <= 5; $b++)
{
?>
<div id="content" style="display: none;">
<?php
for ($a = 1; $a <= $b; $a++)
{
print '<div class="voorbeeld_content'.$b.'"><b>Content</b></div>';
}
?>
</div>
<?php
}
?>
也包含在这里:
<?php
include("Menu.php");
for ($b = 1; $b <= 5; $b++)
{
?>
<div id="header" style="display: none;">
<?php
for ($a = 1; $a <= $b; $a++)
{
print '<div class="vooorbeeld_header.$b.'"><b>H</b></div>';
}
?>
</div>
<?php
}
?>
问题是,javascript代码仅适用于menu.php,而不适用于content.php和header.php,因为ID标记,我该如何解决?
答案 0 :(得分:0)
id has to be unique。总是。就这样。更改你的代码,以便为menue的不同内容提供不同的id,或者改为使用类。
引用W3C:
属性定义
id:此属性为元素指定名称。该名称在文档中必须是唯一的。
答案 1 :(得分:0)
您不能将相同的ID赋予相同类型的控件或其他类型的控件。这是它的独特身份。你必须以一种每个控件在网页中都有唯一ID的方式更改代码......
答案 2 :(得分:0)
页面上不能有两个或多个具有相同ID的元素。 JavaScript不会选择这两个元素,因为ID必须是唯一的。尝试找到一种在元素上放置唯一ID的方法。