问:我对这里的最后一点很困惑。从视频中的1:30-2:20开始,我迷失了。
如果$ select从不直接接收值,而是$ option在.each方法/函数中接收到值,那么'window.location = $ select.val()'如何工作?如果我使用$ option.val()来获取option的值,则不会定义$ option,因为它超出了函数的原始范围,但这似乎更有意义。我还认为,在尝试使用该按钮单击功能获取$ select的值之前,我们必须经过第二步,将$ option的值设置为$ select的值(因为$ option是$ select的子级)。
答:您说的是$ option接收到函数中的值是正确的,但请仔细看视频末尾的第19行。该行将$ option附加到$ select上,因此在遍历.each()之后,最终会得到类似的结果。
<选择>
<选项值= “ index.html” >主页</选项> <选项值= “ about.html” >关于</选项> <选项值= “ contact.html” >联系人</选项> <选项value = “ support.html” >支持</选项> <选项value = “常见问题解答。html“ >常见问题解答
</ option >
< option value = “ events.html” >事件</ option > </ select >
忽略选项的顺序,因为我没有注意。
现在,有了这个结构,您可以考虑select元素的作用。select元素返回所选选项的值。因此,当我们说window.location = $ select.val()时,我们会将窗口重定向到select内部的option值。