这是我潜伏多年后的第一篇文章,所以如果这篇文章的格式不正确,请原谅我。我目前正在修改一个Tampermonkey脚本(Firefox),用于在网页中搜索一组特定的文本字符串(我已经在脚本中预定义了),并在加载后突出显示页面上的文本。不过,脚本的这一部分工作得很好,现在我正在尝试更改其中一个父对象的背景颜色。
我想更改包含文本“Item Name”的整个元素(div类“shop-item”)的背景颜色:
<div class="shop-item">
<div class="item-img" tabindex="0" style="background-image:url("URL_HERE");" border='1'>
</div>
<p class='item-name'>
<b>Item Name</b>
</p>
</div>
整个脚本运行得非常完美,但是现在我试图高亮显示文本字符串以外的其他项目,我遇到了一些问题,这就是我遇到问题的脚本部分:
var textnodes = document.evaluate("//body//text()", document, null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0; i < textnodes.snapshotLength; i++) {
var node = textnodes.snapshotItem(i);
if (!(node.data.match(/^\s*$/))) {
var s = " " + node.data + " ";
changes = 0;
var d = highlight(quoteHTML(s));
if (changes > 0) {
var rep = document.createElement("span");
rep.innerHTML = d.substring(1, d.length - 1);
node.parentNode.replaceChild(rep, node);
node.closest("div").backgroundcolor("#1AFF00FF");
}
}
}
}
问题出在最后一行代码上:node.closest("div").backgroundcolor("#1AFF00FF");
我试过很多其他的组合,包括.parentNode,但是都不成功。我对Javascript/Tampermonkey脚本还是个新手,所以任何帮助都将非常感谢!
1条答案
按热度按时间w1e3prcc1#
您需要将其更改为:
参考:Style backgroundColor Property