上下文
我有3个按钮在几行(编辑,删除,取消划线)。
这3个按钮是3个不同的类,但却是同一个单击处理程序。
此类等于用于ajax调用的3个操作的名称
因此,在点击处理程序中,我需要检索选择器中被点击的特定部分。
目前我使用以下代码,我写
问题
在2-3行中,使用class=操作系统,有更好的方法来解决我的问题吗?
我正在寻找类似的东西,但我没有找到:
$.post(url + '&action=' + classClickedIntoTheSelector.replace(/./g, '') ...
代码+JSFiddle
<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...
});
试试这个。。。
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");
}
});
http://jsfiddle.net/3wj3R/2/
if($(this).is('.this')) ...
if($(this).is('.that')) ...
最后我使用了泛型类和一个数据属性:
<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'));
});