我正在写一个Greasemonkey / Tampermonkey脚本,我需要打开单选按钮,具体取决于无线电控件的名称和值。
它的外观如下:
<input type="radio" name="11" value="XXX" class="radio">
<input type="radio" name="11" value="zzzz" class="radio">
所以我想设置那些名称为11且值为zzzz的按钮。
答案 0 :(得分:2)
使用jQuery时,这非常简单。这是一个完整的脚本:
// ==UserScript==
// @name _Radio button check
// @include http://YOUR_SITE/YOUR_PATH/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.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.
*/
$("input[name='11'][value='zzzz']").prop ('checked', true);
input[name='11'][value='zzzz']
jQuery选择器获取具有初始值<input>
的所有zzzz
,但前提是它们位于带{的单选按钮组中{1}}。
参考:
重要提示:上述内容适用于大多数网页,但在AJAX驱动的网页上,您经常需要使用支持AJAX的技术。这是因为Greasemonkey脚本将在加载您关心的复选框之前运行。
处理此问题的一种方法是使用the waitForKeyElements
utility。像这样:
name="11"
旧答案这是“最先进的”:):
// ==UserScript==
// @name _Radio button check
// @include http://YOUR_SITE/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 ("input[name='11'][value='zzzz']", selectRadioButton, true);
function selectRadioButton (jNode) {
jNode.prop ('checked', true);
}