为什么我的HTML id属性无效,当我有4倍相同的id加一个计数器

Why is my HTML id attribute invalid, when I have 4x the same id plus a counter?

本文关键字:id 计数器 一个 4倍 属性 HTML 我的 无效 为什么      更新时间:2023-09-26

我有一个包含4个单选按钮的表单,由于某些未知的原因,我的第四个单选按钮不起作用…

JSBIN here: radio madness

我通过W3C验证器运行代码,它在第4个无线电上抱怨label元素必须引用form input

查看我的第三和第四个无线电标签和输入…

    <label for="dyno_fe7ee1e9-6005-69e7-6205-5265c866f79f_content_type_2">Structured Text</label>
    <input type="radio" id="dyno_fe7ee1e9-6005-69e7-6205-5265c866f79f_content_type_2" name="dyno_fe7ee1e9-6005-69e7-6205-5265c866f79f_content_type" value="text/structured">

这个可以,而这个:

    <label for="dyno_fe7ee1e9-6005-69e7-6205-5265c866fa79f_content_type_3" data-i18n="">reStructuredText</label>
    <input type="radio" id="dyno_fe7ee1e9-6005-69e7-620a5-5265c866f79f_content_type_3"  name="dyno_fe7ee1e9-6005-69e7-6205-5265c866f79f_content_type" value="text/x-rst">

失败。它一定与id-attribute有关,因为如果我只使用a, b, c作为id,代码就通过了。我已经查了id限制,它不能是长度问题,加上我从一个字符开始,所以对我来说没关系。

问题:
为什么第4个单选按钮的id属性无效,而其他三个工作正常?

它们不一样,所以你的标签指向表单元素…

                                 **
for: dyno_fe7ee1e9-6005-69e7-6205-5265c866fa79f_content_type_3
id:  dyno_fe7ee1e9-6005-69e7-620a5-5265c866f79f_content_type_3
                                 **