0

我有一个无法编辑的网站,但我经常访问。我同时使用 Greasemonkey for Firefox 和 Tampermonkey for Chrome 来尝试使用 Javascript 在下拉列表中自动选择一个值。下面是下拉列表的元素。

<select name="term">
    <option value="12">12 /mo. - $20.95/mo.</option>
    <option value="24">24 /mo. - $17.95/mo.</option>
    <option value="36">36 /mo. - $15.95/mo.</option>
</select>

如您所见,没有元素ID。我已经尝试按照此处此处的答案进行操作,但将它们更改为使用document.getElementsByName,而不是document.getElementById因为此下拉元素没有 id,但我所做的一切都没有奏效。

每当我访问该网页时,如何使用 Greasemonkey 或 Tampermonkey 自动选择“36”的值?

4

3 回答 3

3

您可以使用属性选择器按名称访问元素。当您设置其值时,将选择具有该值的选项。

$("select[name=term]").val("36");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="term">
    <option value="12">12 /mo. - $20.95/mo.</option>
    <option value="24">24 /mo. - $17.95/mo.</option>
    <option value="36">36 /mo. - $15.95/mo.</option>
</select>

于 2015-10-06T20:49:22.793 回答
1

// ==UserScript==
// @name         http://stackoverflow.com/questions/32979378
// @match        http://website.with.dropdown.com/*
// @grant        none
// ==/UserScript==
(document.querySelector && document.querySelector('select[name="term"]') || []).value = '36';
<select name="term">
  <option value="12">12 /mo. - $20.95/mo.</option>
  <option value="24">24 /mo. - $17.95/mo.</option>
  <option value="36">36 /mo. - $15.95/mo.</option>
</select>

于 2015-10-13T06:45:48.920 回答
0

看起来你可以在greasemonkey中使用jQuery

// @require       http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js

如何在 Greasemonkey 中使用 jQuery?

那么 jQuery 选择器将类似于:

$("select[name=term]")

https://api.jquery.com/attribute-equals-selector/

于 2015-10-06T20:49:58.910 回答