根据 URL 散列和 Javascript 设置所选选项

Set selected option based on URL hash with Javascript

<select id="mySelect">
    <option>Apple</option>
    <option>Orange</option>
    <option>Pineapple</option>
    <option>Banana</option>
</select>

<button onclick="myFunction()">Try it</button>

<script>
    function myFunction() {
        document.getElementById("mySelect").options.selectedIndex = "2";
    }
</script>

此脚本在单击按钮时选择 "Pineapple"。我想做同样的事情,除了它应该在刷新时立即被选中。另外,我不想使用 selectedIndex,而是想根据 URL 哈希设置所选选项。

所以:myname.com/#this

if location.hash == 'this' 然后将选项设置为与所选值相等。

如果它正在检查 location.hash,那么我不需要使用 onload,因为它会自动从 url 中提取信息。我知道这很简单,我只是不太了解 JavaScript 无法自己将其组合起来。

您通常只听 hashchange 事件

window.addEventListener('hashchange', fn, false);

window.onload = fn; // fire on pageload

function fn() {
    document.getElementById('mySelect').value = window.location.hash.replace('#','');
}