这是我之前问题的后续。我正在尝试使用 Greasemonkey 更改 <td>
中的文本指向包含该文本的链接。
所以页面包含
<td class="something"><div style="width: 200px;">
randomtext
</div></td>
我想使用 Greasemonkey 将其更改为:
<td class="something"><div style="width: 200px;">
<a href="www.somewhere.com/q?=randomtext">randomtext</a>
</div></td>
到目前为止,我已经拼凑了这一点代码,但我确信这是错误的方法,因为我没有取得任何进展:
// ==UserScript==
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// ==/UserScript==
(function() {
var reference = document.getElementsByTagName('something')
var replacement = reference.replace(reference, "www.somewhere.com/q?=" + reference)
document.getElementById("user-reference-value").innerHTML = replacement;
})();
我还需要做什么才能使这项工作成功?
最佳答案
忘记 jQuery,它只会减慢您的页面速度。 我还没有真正测试过这段代码,但它应该可以通过一些调试来工作:
// ==UserScript==
// ==/UserScript==
(function() {
// collect variables
// you can change this to change which element you replace
var reference = document.querySelector('td.something>div:first-child');
var text = reference.innerText;
var replacement = text.replace(reference, "www.somewhere.com/q?=" + reference);
// create new anchor tag
var a = document.createElement('a');
a.href = replacement;
a.innerText = text;
// do the replacement
reference.innerHTML = ''; // clear the old contents of the reference
reference.appendChild(a); // append the new anchor tag into the element
})();
关于javascript - 将文本替换为该文本的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27905306/