Php 切换仅对一个元素有效

Php 切换仅对一个元素有效,php,jquery,Php,Jquery,我正在查询数据库,并为每个对象使用数据库结果回显DOM元素。我使用切换显示一个变量并隐藏另一个变量: $(document).ready(function(){ $("#name_toggle").click(function(){ $("#hidden_onhover").toggle(); $("#onhover").toggle(); }); }); PHP: echo”“; 问题是,若数据库返回10个对象,我有10行结

我正在查询数据库,并为每个对象使用数据库结果回显DOM元素。我使用切换显示一个变量并隐藏另一个变量:

$(document).ready(function(){
    $("#name_toggle").click(function(){
        $("#hidden_onhover").toggle();
        $("#onhover").toggle();         
    });
});
PHP:

echo”“;
问题是,若数据库返回10个对象,我有10行结果,但toggle只对第一个元素起作用。你知道我做错了什么吗


提前感谢。

这是因为您使用的是ID。
应该用类替换它,您需要相应地更改jQuery代码。

因此您的PHP代码看起来像这样

 echo "<a href=\"#\"><span class=\"onhover\">$row->common_name</span><span class=\"hidden_onhover\">$row->firstname $row->lastname</span></a>";

另外,请确保将
name\u toggle
作为类,而不是
ID


以上代码假设
name\u toggle
DIV是
hidden\u onhover
onhover
DIV的父项。这是因为您正在使用ID。
应该用类替换它,并且您需要更改jQuery代码相应地。

所以您的PHP代码看起来像这样

 echo "<a href=\"#\"><span class=\"onhover\">$row->common_name</span><span class=\"hidden_onhover\">$row->firstname $row->lastname</span></a>";

还要确保将
name\u toggle
作为一个类,而不是
ID


上面的代码假设
name\u toggle
DIV是
hidden\u onhover
onhover
DIV的父项。

ID需要唯一,在这种情况下应该使用类。@JonStirling感谢它workedds需要唯一,在这种情况下,您应该使用类。@JonStirling感谢它的有效性!请接受它作为答案,如果它是正确的,以帮助未来的读者。太好了!如果答案正确,请接受,以帮助将来的读者。
$(document).ready(function(){
    $(".name_toggle").click(function(){
        $(this).find(".hidden_onhover").toggle();
        $(this).find(".onhover").toggle();         
    });
});