如何用GWT或Javascript强调DIV中的文本(innerText):

时间:2015-01-20 15:02:30

标签: java javascript jquery html gwt

如何使用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>

3 个答案:

答案 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>"))