0

我想检测并设置特殊字母的样式。例如这样的:

身体[“p”]/身体[“2”]

我怎样才能做到这一点?谢谢

4

2 回答 2

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标签,它会被替换弄乱。

于 2013-02-09T15:52:05.307 回答
1

你不能使用 CSS。唯一的非元素(css-created)伪元素::first-lineand ::first-letter

但是,您可以使用 JS 通过 DOM 进行搜索,并在要突出显示的字母周围创建标签。使用正则表达式和 javascript检查html 中的突出显示词 - 几乎就在那里如何做到这一点。

于 2013-02-09T15:40:07.177 回答