我们有一个基于网络的内部 list 。我正在查看在页面上的链接下添加一个链接。没有 ID 或类(class)可供我连接。至少我想在其下方添加内容的每个链接都以 NFD 开头。我基本上需要提取链接文本(而不是链接本身,即显示给最终用户的文本)并在我的 url 中使用它来调用用于远程访问的网址。
var links = document.evaluate("//a[contains(@href, 'NFD')]", document, null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i=0; i < links.snapshotLength; i++)
{
var thisLink = links.snapshotItem(i);
newElement = document.createElement("p");
newElement = innerHTML = ' <a href="' + url + '">Remote</a>';
thisLink.parentNode.insertBefore(newElement, thisLink.nextSibling);
//thisLink.href += 'test.html';
}
编辑:
我要找的基本上是我有一个链接 <a href="http://blargh.tld/Search-Computer.asp?Computer=NFDM0026">NFDM0026</a>
我希望现在使用小门内的文本在该链接下方添加一个链接,因此我希望 NFDM0026 创建一个自定义链接以使用该链接调用 url。就像说一个 vnc 查看器。 NFDM0026 当然会更改为不同的名称。
最佳答案
这是做你想做的事情的方法(没有 jQuery ;考虑添加那个很棒的库):
//--- Note that content search is case-sensitive.
var links = document.querySelectorAll ("a[href*='NFD']");
for (var J = links.length-1; J >= 0; --J) {
var thisLink = links[J];
var newElement = document.createElement ("p");
var newURL = thisLink.textContent.trim ();
newURL = 'http://YOUR_SITE/YOUR_URL/foo.asp?bar=' + newURL;
newElement.innerHTML = ' <a href="' + newURL + '">Remote</a>';
InsertNodeAfter (newElement, thisLink);
}
function InsertNodeAfter (newElement, targetElement) {
var parent = targetElement.parentNode;
if (parent.lastChild == targetElement)
parent.appendChild (newElement);
else
parent.insertBefore (newElement, targetElement.nextSibling);
}
关于javascript - Greasemonkey - 查找链接并添加另一个链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8581949/