我正在尝试做我的第一个油脂剧本。我对jquery和javascript很新,所以对我来说很容易。
这是我到目前为止所拥有的。
setTimeout(function(){
$('a').each(function(i){
if(this.href && this.innerHTML.indexOf('load more comments') > -1){
toggle(this);
}
});
}, 4000);
这里的目标是点击样本reddit页面上的所有“加载更多评论”页面,然后每隔4秒循环执行一次。
http://www.reddit.com/r/AskReddit/comments/i7hb5/why_assign_gender_to_public_bathrooms_if_there_is/
现在,根本没有任何事情发生。我不确定如何排除故障。脚本根本没有启动吗? indexOf是点击链接的正确语法吗?
是否有一个在线指南,虽然我写了一个像这样的基本的greasemoney / jquery脚本,但是会引导我?
任何帮助非常感谢。谢谢!
编辑:
根据Tomalak的回应,
// ==UserScript==
// @name load all page comments
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// @namespace none
// @include http://www.reddit.com/*
// ==/UserScript==
setInterval( function () {
$('a:contains(load more comments)').click();
}, 4000);
答案 0 :(得分:2)
比你想象的容易得多:
setInterval( function () {
$('a:contains(load more comments)').click();
}, 4000);
请注意,我使用setInterval
代替setTimeout
。
jQuery的工作方式是在每个匹配的元素上调用click
,即在这种情况下不需要each()
。另请参阅docs on the :contains
selector。