2009-12-31 67 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