我彻底迷惑了自己。
我有一个页面,其中包含使用PHP动态生成的信息。我正在尝试使用jQuery隐藏和显示信息。但是,当我执行代码时,该函数仅适用于第一个实例。
这是html / php代码:
<div id="container">
<?php
foreach ($datas as $name)
{
if ($name['state'] === 'PA')
{
echo
'<input type="hidden" name="id" value="' . $name['id'] . '" />' .
'<h1 id="name">' . htmlentities($name['name']) . '</h1>' .
'<p id="descriptionlist">' .
htmlentities($name['description']) . ' ' .
'<br />' .
'<ul id="link">' .
'<li class="l1">' .
'<a href="' . $name['site'] . '"target="_blank">' . $name['sname'] . '</a>' .
'</li>' .
'</ul>' .
'</p>' .
'<div id = "locBar' . $name['id'] . '">' . '<div id="locText' . $name['id'] . '">' .
'<h2 id="location">Location</h2>' .
'</div>' . '</div>' .
'<div id="locDiv' . $name['id'] . '">' .
这是jQuery脚本:
$(document).ready(function(){
$('#locBar').click(function(){
$('#locDiv').slideToggle('slow')
})
});
显然,jQuery不明白,如果我在第二次迭代中点击div,那么任何事都应该发生。我该如何解决这个问题?
答案 0 :(得分:0)
生成的html是什么样的? 我猜这是foreach循环的开始,你正在生成具有相同ID(locBar和locDiv)的多个div。您永远不应该有多个具有相同ID的项目。 将其更改为使用类