如何使用GWT或Javascript强调DIV中的文字:
Element content = DOM.createElement("div");
content.setInnerText(contentString);
生成此DIV:
<div>test message test message</div>
我希望能够使用此代码强调一些文字(例如&#34; test
&#34;):
<em>test</em>
所以div会是这样的:
<div>
<em>test</em> message <em>test</em> message
</div>
答案 0 :(得分:1)
您可以通过两个步骤轻松实现您想要的目标。
首先,不要使用setInnerText
,因为它不会解释HTML。相反,您应该使用元素的.innerHTML
属性。
其次,您可以使用正则表达式替换所需的单词。只需在单词delemiter(\b
)之间包装你的单词。
最终代码如下:
content.innerHTML = contentString.replace(/\btest\b/g, '<em>test</em>');
如果您有多个要更改的字词:
content.innerHTML = contentString.replace(/\b(test|other words)\b/g, '<em>$1</em>');
答案 1 :(得分:0)
您无法更改文本的一部分格式,但您可以更改DIV的innerHTML以包含格式,如下面的脚本部分所示。
<html>
<body>
<div id="mydiv">test message</div>
</body>
<script language="JavaScript">
var mydiv = document.getElementById("mydiv");
mydiv.innerHTML = mydiv.innerHTML.replace(new RegExp('test', 'g'), "<em>test</em>");
</script>
</html>
答案 2 :(得分:0)
GWT:
content.setInnerHTML(contentString.replaceAll("test", "<em>test</em>"))