我试着逃避,浏览器是如何与嵌套控件的默认行为交互的。我有下面的代码:
<a href="https://stackoverflow.com/"> <span><input type="checkbox">Hello</span> </a>
如果我点击<input>标签,我得到了改变的状态,但我没有得到以下链接(为什么?在同一时间,我会看到改变文本突出显示从所有的<a> Package ).但如果我点击文本"Hello"我会跟随链接?它是怎么工作的?我需要什么规格的解释。
<input>
<a>
"Hello"
fslejnso1#
HTML标准中关于解析HTML的第13.2.6.4.7节有一节标记名为“a”的开始标记这解释了类似的“嵌套<a>”情况的过程:如果活动格式编排元素的列表在列表的结尾和列表上的最后一个标记(或者如果列表上没有标记则在列表的开头)之间包含a元素,则这是解析错误;对令牌运行采用代理算法,如果采用代理算法尚未移除该元素(如果该元素不在表范围内,则可能尚未移除),则从活动格式化元素列表和打开元素堆栈中移除该元素。
1条答案
按热度按时间fslejnso1#
HTML标准中关于解析HTML的第13.2.6.4.7节有一节
标记名为“a”的开始标记
这解释了类似的“嵌套
<a>
”情况的过程:如果活动格式编排元素的列表在列表的结尾和列表上的最后一个标记(或者如果列表上没有标记则在列表的开头)之间包含a元素,则这是解析错误;对令牌运行采用代理算法,如果采用代理算法尚未移除该元素(如果该元素不在表范围内,则可能尚未移除),则从活动格式化元素列表和打开元素堆栈中移除该元素。