Html 属性的标签标签可以与普通div关联吗?
在html5定义下,使用标签的“for”值作为普通div元素的id是否有效(例如,我制作了一个封装在div中的自定义下拉列表实现) 如果可能的话,请告诉我Html 属性的标签标签可以与普通div关联吗?,html,Html,在html5定义下,使用标签的“for”值作为普通div元素的id是否有效(例如,我制作了一个封装在div中的自定义下拉列表实现) 如果可能的话,请告诉我 托马斯不符合规范: 有些元素(并非所有元素都与表单关联)被分类为 可标记元素。这些元素可以与 标签元素 按钮“输入”(如果类型属性未处于隐藏状态)“keygen” “仪表”“输出”“进度”“选择”“文本区域” 另见: 可以指定for属性以指示具有 要关联的标题。如果指定了属性, 属性的值必须是 与标签元素相同的文档。如果指定了属性,并且 文
托马斯不符合规范: 有些元素(并非所有元素都与表单关联)被分类为 可标记元素。这些元素可以与 标签元素 按钮“输入”(如果类型属性未处于隐藏状态)“keygen” “仪表”“输出”“进度”“选择”“文本区域” 另见: 可以指定for属性以指示具有 要关联的标题。如果指定了属性, 属性的值必须是 与标签元素相同的文档。如果指定了属性,并且 文档中有一个元素的ID等于 for属性,第一个这样的元素是可标签元素, 然后,该元素就是label元素的标签控件 我确实认为这个问题提供了一个有效的用例。我不确定这种情况下推荐的模式是什么,尽管ARIA属性可能有助于使标记更易于访问:
正如Tim所指出的,不可能以本机方式实现,但是使用一点javascript就可以模拟它
jQuery(document).delegate('[for]','click',function(e){
var targetEl = jQuery('#'+jQuery(this).attr('for'));
if(targetEl.is('div.your-custom-dropdown-class')) { //if targetEl is one of your dropdowns
e.preventDefault();
targetEl.trigger('click'); //open the drop down
}
});
为了扩展,从HTML5规范:谢谢Tim,这是一个有趣的发现