Javascript 如何处理div上的单击事件

Javascript 如何处理div上的单击事件,javascript,jquery,html,Javascript,Jquery,Html,我有一组来自SQL数据库的数据项。这些项目以多个div显示,如: <?php $url = 'DataBase'; $json_response = file_get_contents ( $url ); $json_arr = json_decode ( $json_response, true ); for($i = count ( $json_arr )-1; $i > 0; $i--) { $json_obj = $json_arr [$i]; ec

我有一组来自SQL数据库的数据项。这些项目以多个div显示,如:

 <?php
 $url = 'DataBase';

 $json_response = file_get_contents ( $url );

 $json_arr = json_decode ( $json_response, true );

 for($i = count ( $json_arr )-1; $i > 0;  $i--) {
 $json_obj = $json_arr [$i];


 echo '<div id="MyDIV">';
 echo $json_obj ['id'] ;
 echo $json_obj ['title'];  
 echo $json_obj ['article'];  
 echo '<button id="read_more_btn">Read more</button>';
 echo '</div>'
 }
 ?>

我的问题是,我无法处理每个div的单击事件,因此我无法识别已单击的项目。我一直在寻找一个解决方案,但没有找到任何东西。所以我的问题是——如何识别单击的项目

编辑
我不知道如何为按钮动态分配ID,给每个div一个唯一的数字类,这样jquery就会

$('div').click(function() {
    var item_id = $(this).attr("class");
    //do stuff here
});


在php中创建html时,如何在类中回显id。
echo'

现在在html中,它看起来像



等等

然后在Javascript中,您可以像访问任何标记一样访问它们

$('#mydiv-1').click(function(e){
    console.log('a div was clicked');
    console.log($(this))
});
因此,为了将侦听器分配给每个
div
,您可以执行一个循环

for(var i = 1;$('#mydiv-container').children().length >= i,i++)
{
     $('#mydiv-' + i).click(function(){ 

}

确保为所有div添加一个容器。

您可以使用
数据
属性(假设为HTML5)将Id作为元数据附加到
div
上。您的PHP(注意,我正在添加
数据id
属性):


您所说的
是什么意思?我无法处理每个div的单击事件,因此我无法确定单击了哪个项目。
因为它不起作用?或者你不知道如何找出哪个div被点击了?ID在文档上下文中必须是唯一的,这就是为什么…我不知道如何找出哪个div被点击了你向我们展示了php代码,以解决。。。点击事件?你可以发布相关的代码吗?发布你的javascript代码以及你面临的问题。此外,JSFIDLE(带有php的html输出)也会有所帮助。请确保在php中连接的是
,而不是
+
for(var i = 1;$('#mydiv-container').children().length >= i,i++)
{
     $('#mydiv-' + i).click(function(){ 

}
<?php
 $url = 'DataBase';
 $json_response = file_get_contents ( $url );
 $json_arr = json_decode ( $json_response, true );
 for($i = count ( $json_arr )-1; $i > 0;  $i--) {
   $json_obj = $json_arr [$i];
   echo '<div data-id="' . $json_obj['id'] . '">';
   echo $json_obj ['id'] ;
   echo $json_obj ['title'];  
   echo $json_obj ['article'];  
   echo '<button id="read_more_btn">Read more</button>';
   echo '</div>'
 }
 ?>
$('div').click(function(e) {
    var id = $(this).data("id");
    alert(id);
});