感谢您查看我的问题,问题如下:
我正在使用名为 Inline inline affirm 的 jQuery 插件基本上只是要求用户确认(是或否)他们正在执行的操作。
这是插件的基本用法:
HTML:
<li class="msg-li-delete" data-msgid="<?php echo $msg_id_att; ?>">
<div class="affirm light"
data-id="<?php echo $msg_id_att; ?>"
data-title="delete"
data-question="are you sure?" style="display:inline-block;"></div></li>
JS:
$(".affirm").inlineAffirm({
callback : function(ele){
var msg_id_conf = $(".affirm").attr("data-id");
delete_private_msg(msg_id_conf);
}
});
问题是我试图从 anchor 标记中获取唯一的 id,以便我可以调用 delete_private_msg
函数并将 id 作为参数,即 delete_private_msg
函数将与 PHP 进行一些 ajax 交互来删除消息。
无论我点击哪个 anchor ,删除的项目始终是第一个。
所以我尝试了这个:
$(".affirm").inlineAffirm({
var thisid = $(this).attr("data-id");
callback : function(ele){
var msg_id_conf = thisid;
delete_private_msg(msg_id_conf);
}
});
但是我在控制台中收到以下错误:
126 Uncaught SyntaxError: Unexpected identifier
对此的任何帮助将不胜感激,我真的希望这是可以理解的。
最佳答案
不确定它是否有效,但如果在 onclick 处理程序中调用回调,那么这应该有效
$(".affirm").inlineAffirm({
callback : (ele) => {
var msg_id_conf = $(this).attr("data-id");
delete_private_msg(msg_id_conf);
}
});
注意:这是 ES6 功能
关于javascript - 在 jQuery 中,如果我不能使用 'this' ,如何从属性中获取 id ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42657601/