jqueryphp嵌入DOM元素也有同样的问题

jqueryphp嵌入DOM元素也有同样的问题,php,jquery,Php,Jquery,当我嵌入或使用php循环创建多个id为的div时。 我希望它们中的每一个都与jquery一起使用。比如说简单的隐藏/显示界面 但由于id是相同的,所以无法工作。我给php循环分配了一个变量,比如$I,作为唯一性的参考。我可以用类似的方式为DOM元素分配id <div id="element-<php echo $i ?>">Bla Bla </div> Bla-Bla Php在这里呼应得很好,但我如何将其与jquery结合使用,比如:

当我嵌入或使用php循环创建多个id为的div时。 我希望它们中的每一个都与jquery一起使用。比如说简单的隐藏/显示界面

但由于id是相同的,所以无法工作。我给php循环分配了一个变量,比如$I,作为唯一性的参考。我可以用类似的方式为DOM元素分配id

           <div id="element-<php echo $i ?>">Bla Bla </div>
Bla-Bla
Php在这里呼应得很好,但我如何将其与jquery结合使用,比如:

        $("#element"+<?php echo $i ?>).toggle();
$(“#元素”+).toggle();
在这里它不起作用

我该如何正确地做这件事?我哪里做错了

对不起,英语不好


谢谢,jQuery代码中没有包含破折号,也不需要连接字符串:

$("#element-<?php echo $i; ?>").toggle();
$(“#元素-”).toggle();

PHP在服务器上解释,JavaScript在客户端解释。您不应该考虑在这些环境之间连接字符串,因为它们是服务应用程序的两个不同步骤。

PHP代码的正确语法是:

<?php

//code

?>

因此,在这里您可以清楚地看到错误是什么:

<php echo $i ?>

应该是:

<?php echo $i; ?>

更新答案:

<?php
 for ($k=0;$k<=100;$k++)
  echo '<div id="element-'.$k.'" onclick="toggleID('.$k.')">Here is the content of div $k</div>';
?>

<script>
 function toggleID(id)
 {
  $("#element"+id).toggle();
 }
</script>

函数切换id(id)
{
$(“#元素”+id).toggle();
}

您的问题是没有关闭php语句:

你错过了“?>”

试试这个:

;?>
你的发言到此结束

编辑:

<?php
 for ($k=0;$k<=100;$k++)
  echo '<div id="element-'.$k.'" onclick="toggleID('.$k.')">Here is the content of div $k</div>';
?>

<script>
 function toggleID(id)
 {
  $("#element"+id).toggle();
 }
</script>
此外,“元素”和“id”之间缺少“-”:

尝试包含“减号”:

$(“#元素-”+id)

您可以试试这个

<script>
 function togl(id)
 {
  $("#element"+id).toggle();
 }
</script>

<?php
 for ($i=0;$<10;$i++)
  echo '<div id="element-'.$i.'" onclick="toggle('.$i.')">Bla Bla </div>';
?>

函数togl(id)
{
$(“#元素”+id).toggle();
}

我认为您的javascript代码应该是这样的,而不是您发布的代码

$("#element-"+<?php echo $i ?>).toggle();
$(“#元素-”+).toggle();
然而,我不推荐这种方法,因为它不是很有效。它将触发大量jQuery查找

最好给所有有问题的div一个类,然后在jQuery中使用该类引用它们

<div class="toggleThis" id="element-<php echo $i ?>">Bla Bla </div>

$(".toggleThis").toggle();
Bla-Bla
$(“.toggleThis”).toggle();

问题是您不能拥有相同的ID。但是,如果您只需要简单的显示/隐藏功能,那么应该向div中添加一个类,而不是ID

class="toggableDiv"
然后在jQuery中

$(".toggableDiv").click();

您没有在javascript部分关闭PHP标记。这就是实际代码的样子,还是这只是一个转录错误?很抱歉,我忘了把它们放在这里。但在实际代码中,它们是存在的。对不起:)对不起,我忘了把它们放在这儿。但在实际代码中,它们是存在的。对不起:)对不起,我忘了把它们放在这儿。但在实际代码中,它们是存在的。抱歉:)那么您一定已经更正了代码。顺便说一下,我有你的问题。让我更新答案。啊哈,对不起。我妈妈对我发脾气要我关闭系统,所以我就把它打了出来。顺便说一句,非常感谢:):对不起,我忘了把它们放在这里。但在实际代码中,它们是存在的。抱歉:)但当有人单击它时,这将切换所有div。我想要的是,它只切换相关的divOK,那么在这种情况下,ID方法可能是正确的。我对您的原始代码所做的更正应该是有效的。但是我认为-字符对于ID是不合法的,所以你可能想用一个u字符来代替它