Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery在从AJAX获取循环数据时获取内部属性值_Javascript_Php_Jquery_Ajax_Attributes - Fatal编程技术网

Javascript jQuery在从AJAX获取循环数据时获取内部属性值

Javascript jQuery在从AJAX获取循环数据时获取内部属性值,javascript,php,jquery,ajax,attributes,Javascript,Php,Jquery,Ajax,Attributes,让我们先设置结构 message.php <div class="msgcontent content" id="bodycontent"> <div class="getmsglist"></div> </div> <script> setInterval(function(){ $('.getmsglist').load('processes/messagelist.php'); }, 500); <

让我们先设置结构

message.php

<div class="msgcontent content" id="bodycontent">
  <div class="getmsglist"></div>
</div>
<script>    
  setInterval(function(){
    $('.getmsglist').load('processes/messagelist.php');
  }, 500);
</script>

$(“.messagebox”)
在这里不起作用,它为所有行返回相同的用户id。我尝试了“$(this)”,但它返回了
undefined
,因为它试图获取不存在的div.msgcontent属性。如何为所有行获取不同的属性值?

您应该能够通过使用委派单击处理程序来选择单个
.messagebox
,而不是请求所有
$('.messagebox')

这样,您的单击处理程序将绑定到容器
.msgcontent
,但会委托给
.messagebox
。这样可以在加载实际内容之前绑定处理程序


现在我不能完全确定这个聊天的自定义属性
。使用
数据聊天更符合逻辑

var memid = $(this).data('chat');

如果需要整数而不是字符串,数据属性将自动转换。但是首先尝试在控制台日志中实际获取您的对象。

.msgcontent
是一个包装器div,它包装您的
.messagebox
项,单击它时您希望看到什么?@u\u mulder它打开一个模式,我希望id通过ajax获取相关内容并在模式中显示。我希望当我点击它时,我会从
this chat
属性中获得每一行的相应值。
$(".msgcontent").click(function() {
  var memid = $(".messagebox").attr("this-chat"); // doesn't work (fetches same id for all rows)
  //var memid = $(this).children(".messagebox").attr("this-chat"); // this returned undefined as well
  var dataString = {
    memid: memid
  };
  console.log(dataString);
});
$('.msgcontent').on('click', '.messagebox', function() {
    var memid = $(this).attr('this-chat');
    var dataString = { memid: memid };

    console.log(dataString);
});
var memid = $(this).data('chat');