我正在使用 Jquery 和 Jquery-UI 1.7.2。代码本身是一个 tampermonkey 脚本,其中已经编写了 GM_setValue 和 GM_getValue 所需的授权。存在问题的代码部分是应更新 select 元素以将所选选项作为文档开头保存在 GM 中的选项的部分。 select 元素根本不显示已保存的选项,并保留在默认的第一个选项上。我几乎尝试了所有方法,但不知道代码有什么问题。
我尝试调试我的代码并尝试使用不同的方法来实现我想要的,但似乎没有任何效果。我还检查了与此类似的其他问题,但其他帖子上的解决方案似乎不适用于我的情况。
<div class="feature-select" id="element-type">
<select>
<option value="water" selected>Water</option>
<option value="earth">Earth</option>
<option value="land">Land</option>
<option>
</select>
</div>
$('.feature-select').each(function() {
this.value = GM_getValue(`velocity.data.${$(this).attr('id').split("-")[0]}.type`, "")
$(this).addEventListener('change', function (e) {GM.setValue(`velocity.data.${$(this).attr('id').split("-")[0]}.type`, e.target.value); console.log(e.target.value)});
})
看起来您正在尝试更改外部容器的值。特别是 .feature-select 类。但是,您应该定位内部元素来更新其值。
您同时使用旧的 (GM_getValue) 和新的 (GM.setValue) Tampermonkey API。您应该坚持使用一个版本,要么使用所有旧式方法,要么使用所有新式方法,以获得更有效的方法。希望这有帮助