我知道您可以使用for和id属性将标签与输入相关联。但是你可以使用一个类而不是id吗?谢谢
<label for="rooms">Number of rooms</label>
<select id="rooms">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
答案 0 :(得分:42)
类不是唯一的(你可以有多个具有相同类的元素),所以没有。
如果您想在不使用ID的情况下将标签与输入相关联,您可以隐式通过在标签内包含所述输入来分配:
<label>Number of rooms
<select name="rooms">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</label>
答案 1 :(得分:4)
不,你不能使用元素的class
,因为多个元素可以使用同一个类 - 在这种情况下,label
应该使用哪个元素?
答案 2 :(得分:4)
以下是您不想使用ID或嵌套控件的示例:
我正在创建一个使用模板的BackboneJS应用程序。因为模板可以复制,所以不要使用ID很重要,因为它会在DOM中创建具有相同ID的多个元素。
我也在使用Bootstrap,如果它包含在<label>
元素内,它将以不同的(并且不合需要的)方式呈现控件。
此时,我能找到的唯一解决方案是包装控制元素并调整默认CSS以获得所需的输出。如果有人有更优雅的解决方案,请加入。
答案 3 :(得分:3)
id
属性。
使用类(描述相关元素的组)是没有意义的,因为标签只能与一个表单控件关联。
答案 4 :(得分:1)
你可以这样做:
<label class="col-md-12 input-group input-group-sm">
<span class="col-sm-5 control-label text-nowrap">Code</span>
<input class="form-control listen code" type="text" size="15" required/>
</label>