这是有效的 HTML 吗?
<a href="#" id="whatever">Home</a>
我正在使用 ID 调用一个 id 为“whatever”的 jQuery 函数。我找不到任何说明这是否有效的东西。我正在争论是否是。
另外,没有选择一个单选按钮组是有效的 HTML 吗?
这是有效的 HTML 吗?
<a href="#" id="whatever">Home</a>
我正在使用 ID 调用一个 id 为“whatever”的 jQuery 函数。我找不到任何说明这是否有效的东西。我正在争论是否是。
另外,没有选择一个单选按钮组是有效的 HTML 吗?
在大多数浏览器中,在 href 属性中添加一些内容是有效的,并且必须有一些东西<a>
来激活元素的链接行为。(虽然href=""
会导致浏览器打开当前“文件夹”的索引页面。)
如果链接代表状态的一些变化,那么最好放更多(例如'#home'),所以如果用户按下后退/前进/刷新,您可以在页面加载时恢复状态 - 这在开发过程中也是一个福音,如果在开发页面时,您往往会经常刷新页面。
--
未选择的单选组比较棘手,HTML 4 验证器会让它通过,但 HTML 4 规范说必须始终检查一个(由于用户代理行为不同,作者应确保在每组单选按钮中,一个最初是“打开”的。)。据我所知,HTML 5 放宽了这一点,因为我在 HTML 5 规范中找不到任何等效的措辞。
但是,这样一组单选按钮处于无效状态,因此不应将其用于捕获可选输入(如果用户选中一个,则无法取消选中它)。
如果选择了默认值(通常是最常见的选择),或者如果它是可选的,则最好为用户提供 null 的显式选项(例如“以上都不是”)
您的 HTML 完全有效。
正如一个建议,您的 jQuery 函数应该阻止锚标记的默认行为:
jQuery("#whatever").click(function(evt) {
evt.preventDefault(); // Prevent the default anchor tag behavior
// Do what you need here
});
这样,您将在使用href="#"
.
HTML 标记是有效的并且符合 HTML 规范,该规范引用了有关href
属性值的 URI 规范。当前的权威规范是RFC 3986,统一资源标识符 (URI):通用语法,也称为 Internet 标准 STD 66。根据它,以及旧的 URI 规范,#
是同文档参考。规范中的相关条款是 3.5 和 4.4。
跟随链接href="#"
意味着停留在当前文档中,不重新加载,但将文档定位在其开头(“跳转到开头”)。因此,它不是这样的无操作,即使href="#"
已被用于使元素或多或少成为假链接。
另一方面,a
没有任何href
属性的元素也是有效的。在视觉渲染、脚本、链接分析等中,它不会被视为一个链接。如果它不是一个链接,就不要让它成为一个链接。