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

时间:2014-03-20 16:33:36

标签: javascript html radio-button w3c-validation radiobuttonlist

我有一个带有一组4个单选按钮的表单,由于某些原因我不知道,我的第四个收音机不起作用...

JSBIN:radio madness

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

查看我的第3和第4个电台标签并输入...

    <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限制,这不是一个长度问题,而且我从一个角色开始,所以对我来说没关系。

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

感谢启蒙......

1 个答案:

答案 0 :(得分:5)

它们不一样,所以你的标签引用表单元素......

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