我正在尝试在Greasemonkey中编写一个脚本,用其他东西替换链接的目标,但是由于我有限的Javascript知识,我真的不知道如何做到这一点。
基本上我正在尝试查找包含特定字符串的所有链接(例如:// a [contains(@ href,'xx')]),并用其他链接替换它们,或者向它们添加内容(将'abc123.com'替换为'zyx987.com'或'abc123.com'替换为'abc123.com/folder')。
如果你能指出我正确的道路,我会非常感激。
编辑:如果将来某人有同样的问题,这是有效的代码:
var links,thisLink; links = document.evaluate("//a[contains(@href, 'roarrr')]", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for (var i=0;i<links.snapshotLength;i++) { var thisLink = links.snapshotItem(i); thisLink.href += 'test.html'; }
答案 0 :(得分:2)
var links = document.evaluate("//a[contains(@href, 'roarrr')]", document, null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i=0; i < links.snapshotLength; i++)
{
var thisLink = links.snapshotItem(i);
thisLink.href += 'test.html';
}
答案 1 :(得分:1)
你得到了所需的a
元素,并将它们的src设置为:
elem.src = 'http://example.com';
你也可以使用以前的src值:
elem.src += 'index.html';