0

我有一些确认评论的链接

<a class="confirm_btn" href="javascript:confirm_ajax(17)" id="confirm_17">Confirm</a>
<a class="confirm_btn" href="javascript:confirm_ajax(20)" id="confirm_20">Confirm</a>

我希望能够一次单击确认所有内容,我知道最好将所有 id 获取到一个数组中并通过一个 ajax 调用将它们发送到后端脚本,但出于某种原因,我不喜欢这样做并单击每个按钮.

这是我的jq代码

function confirm_all(){
        $('.confirm_btn').each(function(index, element) {
                   $(this).trigger('click');
                  // also i've tried  $(this).click();
            console.log($(this).attr('id'));
        });
}

当我运行它时,我得到了console.log结果

confirm_17
confirm_20
confirm_22
confirm_33
confirm_34

但是点击部分不起作用,它假设触发confirm_ajax函数......萤火虫中没有错误......如果我点击它们工作正常的按钮

4

1 回答 1

0

trigger('click')只会调用附加的事件处理程序;如果您有 JavaScript href,它们将不会被触发。

您可以尝试将常规点击处理程序附加到您的链接,或者您可以执行以下操作:

var idFormat = /confirm_(\d+)/;
$('.confirm_btn').each(function() {
    var btn = $(this);
    var id = parseInt(idFormat.exec(btn.attr('id'))[1], 10);
    confirm_ajax(id);
});
于 2013-06-12T00:49:46.753 回答