Greasemonkey:更改网页中的文字?

时间:2009-01-15 17:44:23

标签: javascript greasemonkey

我使用了这个功能:

document.getElementsByTagName('strong')

获取具有该类型格式的页面中的所有文本。 HTML看起来像:

<td align="center" valign="bottom"><H1><font size="+4"><strong>TEXT_HERE</strong></font> <br>

我想将“TEXT_HERE”更改为其他内容或将其全部删除。我该怎么做呢?

提前感谢您的帮助:)

3 个答案:

答案 0 :(得分:7)

使用for循环?

var strongElems = document.getElementsByTagName('strong');
var wantToHide  = true || false;

for (var i=0; i<strongElems.length; i++)
{
  var thisElem = strongElems[i];
  if (wantToHide)
  {
    thisElem.style.display = "none"; // hide it
  }
  else
  {
    thisElem.textContent = "something else"; // change it
  }
}

答案 1 :(得分:1)

// ==UserScript==
// @name           MyScript
// @namespace      http://example.com
// @description    Example
// @include        *
//
// @require     http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js
// ==/UserScript==

var shouldHide = false;

$('strong').each(function() {
  if(shouldHide) {
    $(this).hide();
  } else {
    $(this).text("New Text");
  }
});

答案 2 :(得分:0)

当我想要更改网页中的某些文字时,我会在DumbQuotes上使用我的Greasemonkey解决方案。我喜欢我可以轻松地将替换对定义到列表中:

replacements = {
  "old": "new",
  "foo": "bar",
};

那就是说,我也会查看Tomalak的解决方案。感谢您发布此问题。