html - 在 <option> 标签内使用 href 链接

标签 html forms tags anchor html-select

我有以下 HTML 代码:

<select name="forma">
    <option value="Home">Home</option>
    <option value="Contact">Contact</option>
    <option value="Sitemap">Sitemap</option>
</select>

如何将HomeContactSitemap 值设为链接? 我使用了以下代码,但正如我所料,它不起作用:

<select name="forma">
    <option value="Home"><a href="home.php">Home</a></option>
    <option value="Contact"><a href="contact.php">Contact</a></option>
    <option value="Sitemap"><a href="sitemap.php">Sitemap</a></option>
</select>

最佳答案

2022 年更新:这个答案很好,但实际上在 2022 年我们不应该再这样做了!

更新(2020 年 5 月):有人在评论中问我为什么不提倡这种解决方案。我想这是一个语义问题。我宁愿我的用户使用 <a> 导航并保留 <select>用于进行表单选择,因为 HTML 元素具有语义 session 并且它们有目的,anchors带你去,<select>用于从列表中挑选东西。

考虑一下,如果您正在使用非传统浏览器(非图形浏览器或屏幕阅读器或以编程方式访问页面,或禁用 JavaScript)查看页面,那么“含义”或“意图”是什么这个<select>你用过导航吗?它是在说“请选择一个页面名称”而不是其他很多内容,当然与导航无关。对此的简单回应是 well i know that my users will be using IE or whatever so shrug但这有点忽略了语义的重要性。

虽然由包含一些常规 anchor 的合适布局元素(和一些 js)组成的时髦下拉 UI 元素仍然保留其意图,即使布局元素丢失,“这些是一堆链接,选择一个我们将导航到那里”。

这是关于 the misuse and abuse of <select> 的文章.

原始答案

<select name="forma" onchange="location = this.value;">
 <option value="Home.php">Home</option>
 <option value="Contact.php">Contact</option>
 <option value="Sitemap.php">Sitemap</option>
</select>

更新(2015 年 11 月):在当今时代,如果您想拥有一个下拉菜单,可以说有很多 better ways to implement one.这个答案是对一个直接问题的直接回答,但我不提倡这种方法用于面向公众的网站。

关于html - 在 <option> 标签内使用 href 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56247583/

相关文章:

html - 我不想将 CSS 类的属性应用于列表中的元素

javascript - 是否可以将 Canvas ID 的宽度和高度属性设置为窗口大小的 90%?

javascript - 使用Javascript将fontWeight的CSS属性应用于单选按钮的标签标签

html - 我的 h1 元素中的额外空间来自哪里?

parameters - 在 jenkins multijob 开始时需要帮助传递参数

javascript - 如何使用 jQuery 隐藏我的 div,然后通过按不同的 div 再次显示它?

html - 将 html 链接替换为纯文本 URL 的正则表达式

forms - 是否公开展示 x-amz-credential 或任何亚马逊的东西?

css - 占位符文本在Safari中的textarea中用完了吗?

html - html中input标签的属性 "placeholder"和 "aria-label"