感谢您查看我的问题,内容如下:
我正在使用名为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);
}
});
这个问题是我试图从锚标记中获取一个唯一的id,所以我可以调用delete_private_msg
函数并将id作为参数,delete_private_msg
函数会做一些ajax与PHP的交互以删除消息。
我点击哪个锚点无关紧要,删除的项目始终是第一个。
所以我尝试了这个:
$(".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:意外的标识符
对此有任何帮助将不胜感激,我真的希望这是可以理解的。
答案 0 :(得分:0)
不确定它是否正常工作,但是如果在onclick处理程序中调用了回调,那么这应该可行
$(".affirm").inlineAffirm({
callback : (ele) => {
var msg_id_conf = $(this).attr("data-id");
delete_private_msg(msg_id_conf);
}
});
注意:这是ES6功能
答案 1 :(得分:0)
很抱歉,如果我误解了您的问题,但要获取带有jquery的元素的ID,您可以执行以下操作:
$( ".affirm" ).attr('id')
答案 2 :(得分:0)
msg_id_conf
和thisid
是否有不同类型的变量(例如一个是String
而另一个是Int
)?
否则,这有用吗?
$(".affirm").inlineAffirm({
callback : function(ele){
var msg_id_conf = parseInt($(this).attr("data-id"));
delete_private_msg(msg_id_conf);
}
});
如果这些都不起作用,你能不能在课堂上粘贴完整的html标签&#34;肯定&#34;?
更新
然后尝试这种方式:
$(".affirm").inlineAffirm({
var thisid = parseInt($(this).attr("data-id"));
callback : function(ele){
var msg_id_conf = thisid;
delete_private_msg(msg_id_conf);
}
});