1

感谢这个论坛的帮助,我能够让我的代码工作:

// ==UserScript==
// @name        PARINGO
// @description Auto select rpt radio button
// @namespace   PARINGO
// @include     https://docs.google.com/spreadsheet/viewform?formkey=dG1fdUU1bTR5R1l3dmtGS095QVYxZlE6MQ
// @require     http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant       GM_addStyle
// @version     1
// ==/UserScript==
/*- The @grant directive is needed to work around a design change introduced
    in GM 1.0.   It restores the sandbox.
*/
//-- Note that :contains() is case-sensitive
var questionLabel   = $(
    "label.ss-q-title:contains('How much is 1+1') ~ ul.ss-choices"
).first ().find ("input[type=radio][value=2]");
questionLabel.prop ('checked', true);

var questionLabel   = $(
    "label.ss-q-title:contains('How much is 4+2') ~ ul.ss-choices"
).first ().find ("input[type=radio][value=6]");
questionLabel.prop ('checked', true);

制作此脚本的原因是检查标签并标记正确答案。但如果响应由两个或多个单独的单词组成。没有作品,例如:

var questionLabel   = $(
        "label.ss-q-title:contains('How much is 4+2') ~ ul.ss-choices"
    ).first ().find ("input[type=radio][value=dog crazy]");
questionLabel.prop ('checked', true);

这适用于谷歌文档中的表单: Form Google Docs

任何人都可以告诉我该值如何接受单独的单词?

("input[type=radio][value=dog crazy]")
4

3 回答 3

3

如果一个属性由多个单词组成,则必须使用如下引号:

"input[type=radio][value='dog crazy']"
于 2012-11-11T16:33:10.157 回答
1

尝试将值放在引号中

"input[type=radio][value='dog crazy']"
于 2012-11-11T16:33:12.333 回答
1

您正在使用jQuery 的 find方法。将值放在引号中:

"input[type=radio][value='dog crazy']"

在选择器中的属性的 jQuery文档中有这样的示例。例如:

  • 单引号内的双引号:$('a[rel="nofollow self"]')
  • 双引号内的单引号:$("a[rel='nofollow self']")

具体来说,文档状态:

选择器表达式中的属性值必须遵循 W3C CSS 选择器的规则,通常这意味着除了简单标识符之外的任何内容都应该用引号引起来。

于 2012-11-11T16:36:06.283 回答