2011-12-20 15 views
1

私たちは、Webベースの社内在庫を持っています。私は見ているページにリンクの下にリンクを追加します。私のためのIDやクラスはありません。少なくとも私はそれの下に何かを追加したいそれぞれのリンクは、NFDで始まります。私は基本的にリモートのWebアドレスを呼び出すために、リンクテキスト(いないリンク自体エンドユーザーに表示されるテキストを)引っ張って、私のURLでそれを使用する必要がGreasemonkey - リンクを見つけて別のリンクを追加

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 = '&nbsp;&nbsp;<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>私はWickets内部のテキストを使ってリンクを追加していますので、NFDM0026を使ってurlを呼び出すカスタムリンクを作ってほしいです。 vncビューアと同じように。 NFDM0026はもちろん、異なる名前に変わります。

+0

あなたは 'thisLink.href = thisLink.innerText || thisLink.textContent'したいですか? – c69

+0

検索の絞り込みには常にいくつかの*構造があります。それが何か不自由なものであっても、 'div.tableborder table tr td.tdrow1 a [href * 'NFD']'です。ページのスナップショットをhttp://pastebin.com/に保存すれば、それを絞り込むことができます。 –

+0

あなたはウィッケットの中のテキストを使って '' 'どういう意味ですか?この新しいリンクを手渡す方法を示してください、**正確に**。 –

答えて

2

はここ(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 = '&nbsp;&nbsp;<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); 
} 
+0

それはほとんど完璧に動作しますが、一つのことです。どうすれば新しいURLを整理できますか?私は基本的には、エンドユーザー 'Thistext'に表示されるテキストでカスタムURLを構築する必要があります。基本的には、カスタムURLを作成するためにThistextをプルする必要があります。 – Unfundednut

+0

答えとは異なる意味が明確ではありません。あなたの質問を編集して、HTML、前、および*希望の* HTMLを表示してください。 –

+0

申し訳ありませんが、私は元の質問を更新しました。 – Unfundednut

関連する問題