我试图触发同一个班级的多个元素的点击,但是当我这样做时,第一个元素只被点击而不是其他元素,坦率地说,我试图让所有人都喜欢。 fm profile使用firefox的控制台回答所以这就是我做的
$('.like').trigger('click');
但我意识到只有第一个元素(答案)被点击,所以我做了别的事情
$('.like').each(function(){$(this).trigger('click');})
但问题仍然存在,我在这里做错了什么!!
编辑:html代码
所有答案都包含了这个元素
<a class="like hintable" hint="Like" href="#" onclick="Like.quickLike(128332156539, "mo7am_rs", "/likes/am77r/question/128332156539/add"); return false;" style="display:block"></a>
我希望在所有答案元素中单击此元素
答案 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 强>