Javascript jQuery在从AJAX获取循环数据时获取内部属性值
让我们先设置结构 message.phpJavascript 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); <
<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');