从相同的元素类触发后缀

时间:2015-05-12 09:59:42

标签: javascript jquery triggers correlation prefix

我想让每个具有后缀类-dummy的按钮(让我们称之为“虚拟”)触发另一个具有相同类但没有该后缀的按钮(称之为“真实按钮”)。

<button class="btn-submit hidden">

触发的

<button class="btn-submit-dummy"><button class="btn-edit hidden">

触发的

<button class="btn-edit-dummy"> 由于没有类<button class="btn-delete">

的元素,因此没有触发

btn-delete-dummy

点击假人需要触发每个真正的按钮。

到目前为止我的脚本:

/** If I define manually on each button **/
$(".btn-submit-dummy").click(function() {
    $(".btn-submit").trigger("click");
});
$(".btn-edit-dummy").click(function() {
    $(".btn-edit").trigger("click");
});
...
...
...
/** end of defining button **/

我的想法是用jQuery和人类语言编写的(对不起这种丑陋的方式)如下:

$("button[class$='-dummy']").click(function() {
    var realButton = button_which_have_same_class_as_clicked_object_but_trimmed_with_"-dummy";
    if(find realButton) {
        $(realButton).trigger("click");
    }
});

请帮忙。非常感谢。

2 个答案:

答案 0 :(得分:0)

试试这个:

$("[class$='-dummy']").on('click', function () {
    var btnClass = $(this).attr('class').match(/([\w-]+-dummy)+/)[0].replace('-dummy', '');

    alert(btnClass);
    $("." + btnClass).trigger("click");
});

演示:https://jsfiddle.net/tusharj/gc3d5yy5/

希望这有帮助

答案 1 :(得分:0)

您可以通过

调用点击事件
$("[class$=-dummy]").on('click',function(e){
   var a = ($(this).attr('class');
   var fire = a.replace('-dummy"','');
   $('.'+fire).trigger('click');
});