Javascript值由几个单词组成[value = dog crazy]

时间:2012-11-11 16:30:51

标签: javascript html radio-button greasemonkey words

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

// ==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);

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

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

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

3 个答案:

答案 0 :(得分:3)

如果某个属性包含多个单词,则必须使用这样的引号:

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

答案 1 :(得分:1)

尝试将值放在引号

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

答案 2 :(得分:1)

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

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

在选择器中的documentation的jQuery Attributes中有这样的示例。例如:

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

具体来说,文档声明:

  

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