如何使用HTML区分重叠的文本片段?

Sir*_*use 7 html

简单的问题,在HTML中重叠跨度是有效的吗?

例:

<span id="1">This is <span id="2"> some text </span> some other text </span>
                                              ^                        ^
                                            End1                     End2
Run Code Online (Sandbox Code Playgroud)

编辑:

我现在看到跨越结束标记对于它正在关闭哪一个是不明确的,并且首先</span>将关闭跨度id = 2,而不是像我想要的那样.

我的问题是,我有一块文本,我试图根据鼠标悬停的内容突出显示.该文本块由部分组成,其中一些部分彼此"重叠".我正在尝试使用一些jQuery和HTML来呈现此文档,因此当我将鼠标悬停在各个部分上时,将突出显示相应的部分.

因此,在上面的示例中,第一个跨度意味着以第一个span close标记结束,第二个span意味着以第二个span close标记结束.这是因为我的文档的语义,这是两个重叠的部分.

我想要它,所以当我向左移动时,它只会突出显示跨越id = 1和第一个跨度关闭,如果我在两个"重叠"跨度之间悬停,它将突出显示它们,如果我将鼠标悬停在右边,它将从span id = 2突出显示到最后一个span close.

但是,我开始认为这是不可能的.有什么方法可以区分HTML中允许重叠的文本片段吗?因此,当我将鼠标悬停在不同的跨度上时突出显示的jQuery脚本将突出显示正确的部分.

我应该在div和span之间交替吗?这会消除我当时正在关闭的内容的歧义,并允许我使用我的jQuery悬停脚本进行适当的突出显示吗?我想知道现在有两个以上的段重叠.叹了口气,我希望我可以解释我正在关闭的内容.

Cad*_*oux 6

HTML中没有标签可以重叠 - 它们必须正确嵌套.您发布的HTML有效,但可能在语义上不符合您的预期.A </span><span>在同一范围内终止前一个.您尚未确定<span>每个人都希望关闭哪个</span>

<span id="span1">This is <span id="span2"> some text </span> (ends span2) </span> (ends span1)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,这肯定会产生很大的不同:

<span>This is <span> some text </span> and more text </span>
Run Code Online (Sandbox Code Playgroud)


Dus*_*tin 5

SPAN允许元素的内容包含任何"内联"元素. SPAN是这些"内联"元素之一.有关更多详细信息,请参阅元素DTD声明SPAN.

  • +1用于提供适当的参考. (2认同)