不要把 <label> 元素嵌套在 <button> 元素中
在写 HTML 时,不要把 <label>
元素放在 <button>
元素中,否则的话在 IE 及 Firefox 浏览器中,<button>
元素中的 <label>
元素将无法接受到 click
等事件。
尽管在 Edge, Chrome 及 Safari 浏览器中,<button>
元素中的 <label>
元素仍能够正常工作,考虑到浏览器兼容性以及遵循 HTML 规范,我们也不应该这么做。
类似地,<label>
及 <button>
元素都不应该被嵌套在 <a>
和 <button>
元素中。
参考
label – caption for a form control - HTML5:
The interactive element “label” must not appear as a descendant of the “a” element.
The interactive element “label” must not appear as a descendant of the “button” element.
button type=button – button with no additional semantics - HTML5:
The interactive element “button” must not appear as a descendant of the “a” element.
The interactive element “button” must not appear as a descendant of the “button” element.