我试图突出显示页面上的文字,并且"记住"通过将其包裹在彩色范围内进行选择。例: 在突出显示之前:
<span>this is just <b>sample</b> text</span>
突出显示&#34;只是&#34;:
<span>this is <span class="user-selected">just</span> <b>sample</b> text</span>
然而,当前的实现允许重叠标签,例如,如果&#34;只是s&#34;突出显示结果将是
<span>this is <span class="user-selected">just <b>s</span>ample</b> text</span>
这是不受欢迎的,但似乎不可避免。我意识到浏览器可以ignore this,我可以修改选择以分成两个
<span>this is <span class="user-selected">just </span><b><span class="user-selected">s</span>ample</b> text</span>
但是,上面的示例已经简化,页面将涉及MathML表达式,因此突出显示的跨度可能涉及3个开始标记和17个结束标记。将跨度拆分为15个部分似乎过多,当它应该是单个部分时,所以我想知道这是唯一的选择,还是有其他选择?