如何使用Greasemonkey按ID号突出显示?

时间:2014-07-31 08:26:54

标签: javascript jquery greasemonkey

我想用Greasemonkey选择一些文字(用黄色突出显示)。我如何通过身份证号码来做到这一点?

目标网页HTML:

<div class="answer" style="margin-top: 100px;">
<li id="l2289" onclick="sec(2289)" class="answer-sk">italya</li>
<li id="l2290" onclick="sec(2290)" class="answer-sk">Fransa</li>
<li id="l2291" onclick="sec(2291)" class="answer-sk">ingiltere</li>
<li id="l2292" onclick="sec(2292)" class="answer-sk">Portekiz</li>
</div>

2 个答案:

答案 0 :(得分:2)

令人惊讶的是,之前似乎没有提出这个问题 - 至少在Greasemonkey脚本的背景下。

按静态页面上的ID突出显示,只需设置CSS背景。这是完整脚本

// ==UserScript==
// @name     _Highlite node with id l2290
// @include  http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant    GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
    introduced in GM 1.0.   It restores the sandbox.
*/
//-- Highlite the node with ID: l2290
var targNode = document.getElementById ("l2290");
targNode.style.background = "yellow";


你可以see underlying code in action at jsFiddle。 此代码适用于所有现代浏览器用户脚本引擎。



在动态(AJAX驱动)页面上按ID突出显示,需要轮询或变异观察者或AJAX拦截。

以下脚本适用于大多数引擎。在Chrome上,请务必使用Tampermonkey安装脚本:

// ==UserScript==
// @name     _Highlite node with id l2290
// @include  http://YOUR_SERVER.COM/YOUR_PATH/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
    introduced in GM 1.0.   It restores the sandbox.
*/
waitForKeyElements ("#l2290", highlightNode);

function highlightNode (jNode) {
    jNode.css ("background", "yellow");
}

答案 1 :(得分:0)

按ID获取元素,然后重新格式化

document.getElementById('l2289').style.color = '#FFFF00';