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

标签 html

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

例子:

<span id="1">This is <span id="2"> some text </span> some other text </span>
                                              ^                        ^
                                            End1                     End2

编辑:

我现在看到 span 结束标签对于它关闭的是哪个标签是不明确的,第一个 </span>会关闭 span id = 2,而不是我预期的 1。

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

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

我想要它,所以当我将鼠标悬停在左侧时,它只会突出显示 span id = 1 并且第一个跨度关闭,如果我将鼠标悬停在两个“重叠”跨度之间,它会突出显示它们,如果我将鼠标悬停在右侧,它将突出显示从 span id=2 到最后一个 span 关闭。

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

我应该在 div 和 span 之间交替吗?这会消除我正在关闭的内容的歧义,并允许我使用我的 jQuery 悬停脚本进行正确的突出显示吗?我想知道现在重叠的部分超过 2 个。唉,我希望我能解释一下我要关闭的内容。

最佳答案

HTML 中的任何标签都不能重叠 - 它们必须正确嵌套。您发布的 HTML 是有效的,但在语义上可能不是您所期望的。 </span>将终止之前的 <span>在同一范围内。你还没有确定是哪个 <span>您希望每个 </span> 都关闭

<span id="span1">This is <span id="span2"> some text </span> (ends span2) </span> (ends span1)

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

<span>This is <span> some text </span> and more text </span>

关于html - 如何使用 HTML 区分重叠的文本段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2726065/

相关文章:

html - 级联 flexbox 不在第一个框之后放置内容

android - jQuery UI 对话框背后的链接在 Android 上是可点击的

c# - 如何将 Colgroup 标记添加到 ASP :Datagrid Control?

php - 如何在php函数中使用表单值?

javascript - 尝试创建一个小型网站,对 html 不熟悉。 div 有问题

html - 如何在 1 个居中显示 2 个 div

Javascript:更改 div 元素的 ID 并保存值

html - 具有半透明背景而不影响其包含元素

javascript - 输入类型 ="submit"按钮 onClick : jQuery replaceWith prevents form from submitting

html - 如何在同一个 html 表单中有不同的输入文本样式?