我正在尝试为livejournal写一些注释扩展器(作为greasemonkey脚本),并且在扩展链接上遇到点击模拟:
<div style='margin-top: 3px; font-size: smaller'>
(<a href="http://unique page url" rel="nofollow">Reply</a>)
(<a href='page url'>Parent</a>)
(<a href='http://unique page url'>Thread</a>)
<span id='expand_*'>(<a href='http://unique page url' onclick="ExpanderEx.make(event,this,'http://unique page url','*',true)">Expand</a>)</span>
<div class="quickreply" id="ljqrt*" style="display: none;"></div>
</div>
我尝试使用此代码激活页面上的所有链接,但失败了:
$(document).ready(function() {
$('a').each(function() {
$(this).[0].click();
});
});
任何帮助都会非常感激,因为我完全是jquery的新手。
UPD。 我修改脚本,所以它看起来像这样:
jQuery(document).ready(function() {
console.log("function execute");
$('[id^="expand_"] a').click();
console.log("function Log");
console.log($());
});
执行后firebug中的控制台输出是:
function execute --- lj_expa...user.js (line 10)
TypeError: $(...) is null --- lj_expa...user.js (line 11)
Server did not return the new auth_token, further request may fail Error: Permission denied to access property 'toString' --- ??.ljli...3140103 (line 1372)
UPD。添加以下行解决了我的问题,两个选择器都正常工作!
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
答案 0 :(得分:0)
基于以下结构的扩展链接:
<span id="expand_34400795"> <a href="http://*.livejournal.com/1021211.html?thread=34400795#t34400795" onclick="ExpanderEx.make(event,this,'http://*.livejournal.com/1021211.html?threa??d=34400795#t34400795','34400795',true)">Expand</a></span>
尝试:
$(document).ready(function() {
$('[id^="expand_"] a').click();
});
用简单的英语,这个jQuery语句读取find all <a> elements in <span>s with ids starting 'expand_', then click the links
。