猿问

仅使用 JavaScript 突出显示 Div 中的文本(不使用 HTML)

我有一个像下面这样的 div

<div>01010101.11110000.11100010.10011001.00011111.00000001</div>

我想在不使用 DIV 中的 HTML 标记的情况下突出显示第 10 个字符到第 15 个字符,因为我需要基于动态计算突出显示测试,如果我在 DIV 中添加任何 HTML 标记,它将增加 DIV 中的字符数。我也无法使用 JavaScript SELECT 和 RANGE 方法,因为当用户单击屏幕上的任何位置时,文本会被取消选择。


慕容森
浏览 170回答 2
2回答

一只甜甜圈

您可以尝试使用textContent属性从元素中获取字符。如果您将任何标签添加到 div 中,它不会更改字符数。您也可以使用 html 创建具有已突出显示字符的元素,然后将其放在原始元素上。

青春有我

就像@Teemu 在评论中所说的那样,如果不将其包装在某种 HTML 中就不可能做到这一点,因此最好在 Javascript 中处理数据并仅使用 HTML 来显示该数据。如果你这样做,那么你可以使用Mark.js库,它是一个 JavaScript 关键字荧光笔。它是为这样的东西而设计的,它有很多简洁的功能。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答