2009-12-31 68 views
1

我在尝试编写一个Greasemonkey脚本来更新页面上一堆链接的onclick值。该HTML看起来像这样:用Greasemonkey更新onclick的字符串值

<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值读入字符串以便我可以操作它并更新元件?

回答

1

你试过el.getAttribute("onclick")

,并使用//td[@class="my-class"]/a代替

+0

我已经完全忘记了我可以检索与'el.getAttribute设置属性( “点击”)'和'el.setAttribute( “点击”, “新文本”);'。谢谢! – Devin 2009-12-31 19:57:49