Javascript 小书签:如何 return 基于标题的下拉值

Javascript bookmarklet: how to return value of a drop down based off of title

我有一个下拉菜单,其中的选项数量可变。

{选项 A,选项 B,选项 C,...}

选项并不总是可用,因此最初值可能分别为 {0,1,2,...} 但如果选项 A 不在下拉列表中,则选项 B 的值为 0,C 的值为值 1 等等。我想创建一个小书签,当它被激活时,它将在下拉列表中 select 选项 C。

原来我是这样尝试的

javascript:(function(){document.getElementsByTagName('Select')[1].value = 0;})();

但值 0 并不总是等于选项 C。

我的下一个计划是使用:

javascript:(function(){document.getElementsByTagName('Select')[1].title = "Option C";})();

虽然它确实对 HTML 代码进行了更改,但并未对实际网站进行更改。

现在我想知道是否有办法 return 基于标题的选项的值? Javascript 仍然是全新的,但感谢您提供的任何帮助。

编辑 1:由于某些原因,我无法展示真实的 HTML,但这就是它的样子。

<select id="DropDown::Content" name="DropDown" class="x2h" title> <option value="0" title="Option A">Option A </option> <option value="1" title="Option B">Option B </option> <option value="2" title="Option C">Option C </option>

您不能设置标签,但您可以通过下拉菜单,检查标签,找到 "Option C",获取它的值并为您的 Select 框设置它的值。

这是一个示例,我们为第二个下拉菜单设置 "Option C",而不考虑其值。

function selectOptionC () {
  
  const selectOptions = document.getElementsByTagName("Select")[1].options;
  for(let i = 0; i < selectOptions.length; i++) {
    // we can check label and set value based on that
    if (selectOptions[i].label == 'Option C') {
      document.getElementsByTagName("Select")[1].value = selectOptions[i].value;
    }
  }
}

selectOptionC();
<select id="dropdown-a" title="testing title">
  <option>titleA</option>
  <option>titleB</option>
  <option>Option C</option>
</select>

<select id="dropdown-b" title="testing title 2">
  <option value='0'>titleC</option>
  <option value='1'>titleD</option>
  <option value='2'>Option C</option>
  <option value='3'>titleD2</option>
</select>

<select id="dropdown-c" title="testing title 3">
  <option>titleE</option>
  <option>titleF</option>
</select>