我在几行上有3个按钮(编辑,删除,取消订阅)。
这3个按钮是3个不同的类,但是相同的点击处理程序。
此类等于用于ajax调用的3个操作的名称。
因此,在click处理程序中,我需要检索已单击的选择器的特定部分。
目前我使用下面编写的代码
在2-3行并使用class = action system ,是否有更好的方法来解决我的问题?
我正在寻找类似的东西,但我没有找到:
$.post(url + '&action=' + classClickedIntoTheSelector.replace(/\./g, '') ...
<button class="actionLink edit btn">Éditer</button>
<button class="actionLink delete btn btn-warning">Supprimer</button>
$('.edit, .delete').click(function () {
var a = $('.this, .that').selector.replace(/\./g, '').split(', ');
var b = $(this).attr('class').split(' ');
var action;
for (var i = 0; i < a.length; i++) {
for (var j = 0; j < b.length; j++) {
action = a[i] == b[j] ? a[i] : action;
}
}
$.post(url + '&action=' + action...
});
答案 0 :(得分:2)
试试这个......
var l = function (x) { return console.log(x); };
$('.this, .that').click(function () {
var $this = $(this);
if ($this.hasClass("this")) {
l("this");
}
if ($this.hasClass("that")) {
l("that");
}
});
答案 1 :(得分:0)
if($(this).is('.this')) ...
if($(this).is('.that')) ...
答案 2 :(得分:0)
最后我使用了泛型类和数据属性:
<button class="actionLink btn" data-action="edit">Éditer</button>
<button class="actionLink btn" data-action="delete">Supprimer</button>
$j('.actionLink').click(function () {
$.post(url + '&action=' + $(this).data('action'));
});