触发对具有相同 class 的多个元素的点击

trigger a click on multiple elements with the same class

我试图触发对具有相同 class 的多个元素的点击,但是当我这样做时,第一个元素被点击而不是其他元素,坦率地说,我试图让所有人都喜欢ask.fm 使用 firefox 控制台的配置文件答案,这就是我所做的

$('.like').trigger('click');

但我意识到只有第一个元素(答案)被点击,所以我做了其他事情

$('.like').each(function(){$(this).trigger('click');}) 

但是问题依然存在,os我哪里做错了!!

编辑:html 代码

所有答案都有这个元素

<a class="like hintable" hint="Like" href="#" onclick="Like.quickLike(128332156539, &quot;mo7am_rs&quot;, &quot;/likes/am77r/question/128332156539/add&quot;); return false;" style="display:block"></a>

我想在所有答案元素中单击此元素

试试这个:为所有类似元素编写点击处理程序,然后在其上触发点击事件。

$(function(){
  //register a handler
  $( ".like" ).on( "click", function() {
   alert( $( this ).text() );
  });
  //trigger click 
  $( ".like" ).trigger( "click" );
});

JSFiddle Demo

Frankly I'm trying to make likes to all ask.fm profile answers

您的代码应该可以工作,所以,它们可能是 ignoring/blocking 两次连续点击以防止机器人和误点击。

解决此问题的方法是向其添加 睡眠您应该调整睡眠值,因为这取决于他们的秘密配置阈值)。

以下代码每 10 秒尝试一次点击:

var sleep = 0;
$('.like').each(function(){
    var likeElement = $(this);
    setTimeout(function() {
        likeElement.trigger('click');
    }, sleep);
    sleep += 10000;
});

请同时验证该做法是否符合网站政策。