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

このスクリプトを作成するのは、ラベルをチェックして正解をマークすることです。ただし、応答が 2 つ以上の単語で構成されている場合。動作しません例:

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]")
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 に答える