【问题标题】:Automatically adding mark tag using javascript? [duplicate]使用javascript自动添加标记标签? [复制]
【发布时间】:2017-05-18 07:20:07
【问题描述】:

如何自动将标记标签添加到 HTML 内容?我想突出显示“牛奶”这个词,如下:

单词:牛奶

<mark>milk</mark>

示例:

<!DOCTYPE html>
<html>
<body>
<p>Do not forget to buy milk today.</p>
</body>
</html>

像这样:

<!DOCTYPE html>
<html>
<body>
Do not forget to buy <mark>milk</mark> today.
</body>
</html>

【问题讨论】:

  • 自动意味着?任何事件onclickonloadonselect
  • 请注意,重复的问题要求使用span标签,但技术完全相同相同,您只需更改标签名称
  • @prasad with onselect all words "milk"

标签: javascript jquery html


【解决方案1】:

使用Regex(正则表达式)查找单词“milk”并替换,如下:

var key ='milk';
var regex = new RegExp(key,'g');
var text = document.getElementById('text').innerHTML;
console.log(text);
var newText =  text.replace(regex,'<mark>'+key+'</mark>' );
console.log(newText);
document.getElementById('text').innerHTML = newText;
<!DOCTYPE html>
<html>
<body>
<p id="text">
   Do not forget to buy milk today.
</p>
</body>
</html>

或者,你可以简单地写:

 
 document.getElementById('text').innerHTML = document.getElementById('text').innerHTML.replace(/(milk)/g,'<mark>$1</mark>' );
  &lt;p id="text"&gt; Do not forget to buy milk today. &lt;/p&gt; 

【讨论】:

  • 先生,@XYZ 但不适用于我,&lt;html&gt; &lt;head&gt; &lt;script&gt; var key ='milk'; var regex = new RegExp(key,'g'); var text = document.getElementById('text').innerHTML; console.log(text); var newText = text.replace(regex,'&lt;mark&gt;'+key+'&lt;/mark&gt;' ); console.log(newText); document.getElementById('text').innerHTML = newText; &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;p id="text"&gt; Do not forget to buy milk today. &lt;/p&gt; &lt;/body&gt; &lt;/html&gt;
  • @moon93 它对我有用。创建小提琴。 jsfiddle.net/v0qwy58u/1
  • 好的,谢谢@XYZ :)
猜你喜欢
  • 1970-01-01
  • 2013-05-29
  • 2012-03-29
  • 1970-01-01
  • 2012-02-10
  • 1970-01-01
  • 2012-11-30
  • 2016-07-13
  • 1970-01-01
相关资源
最近更新 更多