在写 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.