触发对具有相同类的多个元素的单击

时间:2015-05-25 12:48:05

标签: javascript jquery jquery-selectors

我试图触发同一个班级的多个元素的点击,但是当我这样做时,第一个元素只被点击而不是其他元素,坦率地说,我试图让所有人都喜欢。 fm profile使用firefox的控制台回答所以这就是我做的

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

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

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

但问题仍然存在,我在这里做错了什么!!

编辑: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>

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

2 个答案:

答案 0 :(得分:7)

  

坦率地说,我正试图让所有人都喜欢.fm个人资料答案

您的代码应该有效,因此,他们可能会忽略/阻止两次连续点击,以防止机器人和错误点击。

对此的解决方法是向其添加睡眠您应调整睡眠值,因为它取决于其秘​​密配置的阈值)。

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

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

请同时确认该做法是否符合网站的政策。

答案 1 :(得分:2)

试试这个:为所有like元素编写一个click处理程序,然后触发click事件。

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

<强> JSFiddle Demo