我想检测并设置特殊字母的样式。例如这样的:
身体[“p”]/身体[“2”]
我怎样才能做到这一点?谢谢
您可以通过一个相当简单的替换逐个节点地执行此操作,但它不会很好地扩展。
鉴于标记:
<p>Peter Rabbit ate all of Potter's pickling cukes.</p>
如果您想为该文本中的所有字母p添加样式,您可以选择段落节点并在任何p周围添加跨度(假设单个段落):
var graf = document.getElementsByTagName('p')[0];
graf.innerHTML = graf.innerText.replace(/(p)/gi,'<span class="fancy">$1</span>');
也就是说,这只适用于纯文本节点;例如,如果您在span
标签中已经有一个p
标签,它会被替换弄乱。
你不能使用 CSS。唯一的非元素(css-created)伪元素是::first-line
and ::first-letter
。
但是,您可以使用 JS 通过 DOM 进行搜索,并在要突出显示的字母周围创建标签。使用正则表达式和 javascript检查html 中的突出显示词 - 几乎就在那里如何做到这一点。