我正在尝试编写一个Greasemonkey脚本来更新页面上一堆链接的onclick值。 HTML看起来像这样:
<a onclick="OpenGenericPopup('url-99.asp','popup',500,500,false)" href="javascript:void(0)">text</a>
我需要将Javascript的url-99.asp
部分更新为urlB-99.asp
之类的内容。在我的脚本中,我正在使用XPath表达式收集所有链接并迭代它们:
var allEl = document.evaluate(
'td[@class="my-class"]/a',
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
for (var i = 0; i < allEl.snapshotLength; i++) {
var el = allEl.snapshotItem(i);
//something here;
}
如果我尝试alert(el.onclick)
,我在控制台中出错:
Component is not available
我已经阅读了unsafeWindow和其他Greasemonkey功能,我了解如何使用新的onClick事件为该链接设置事件处理程序,但是如何将当前的onclick值读入字符串以便我可以操作它并更新元素?
答案 0 :(得分:1)
你试过el.getAttribute("onclick")
吗?
并使用//td[@class="my-class"]/a
代替