如果我有一个包含空格<input>
的属性的普通复选框元素,我仍然可以使用将标签绑定到元素,然后单击标签文本以切换复选框值:id
<label for="">
<input type="checkbox" id="remember me" />
<label for="remember me">Remember me</label>
但是,如果我使用HtmlHelper类创建相同的<input>
元素,似乎不会将标签绑定到标签文本。当我单击标签文本时,复选框不会切换:<label for="">
@Html.CheckBox("remember me")
<label for="remember me">Remember me</label>
为什么当我使用 HtmlHelper 时行为会有所不同?是否可以<label for="">
与具有id
包含空格的 HtmlHelper 呈现的元素一起使用?
请注意,这个问题的主要目的是记录我发现的一些有趣的东西。根据HTML 5 标准,该id
属性应至少为一个字符,并且不应包含任何空格字符。我遇到了一些显然没有遵循 W3C 建议的代码,在清理它时,找到了解决上述问题的方法,所以我想我不妨分享一下我发现的内容,以防将来对某人有所帮助。