仅使用普通javascript

时间:2018-07-05 21:13:57

标签: javascript

问题

如何用锚点替换<作为HTML包装器?

背景

我正在获取带有Twitter用户名的JSON值,例如 <jgallardo949>

由于我不希望将其打印到页面上:

  • 我想用<取代<a href="twitter.com/{{data.author}}">
  • 和带有>的{​​{1}}
  • 代码中的最终结果将为</a>
  • 页面上的最终结果将是:jgallardo949

我引用了在这里和其他地方都能找到的其他类似问题。我从Replace string of text javascript

的答案开始

我的跟进实践奏效了。但是具体来说<a href="twitter.com/jgallardo949">jgallardo949</a>符号有挑战,还是我错过了什么?

代码

前两个作品,最后一个没有

HTML

>

JS

<div class="label">With Profits Financial Strength:</div>
<div class="data rating">****</div>
<div class="data2 thing">+</div>
<div class="author twitter"> > </div>

enter image description here

1 个答案:

答案 0 :(得分:3)

HTML中的>作为&gt;返回,因此像这样(\>|&gt;),它将找到两者。

var n2=str3.replace(/(\>|&gt;)/g,"<h1>moon3</h1>");

堆栈片段

var str=document.getElementsByClassName("data" ,"raiting")[0].innerHTML; 
var n=str.replace(/\*/g,"star");
document.getElementsByClassName("data", "raiting")[0].innerHTML=n;



var str2=document.getElementsByClassName("data2" ,"thing")[0].innerHTML; 
var n2=str2.replace(/\+/g,"<h1>moon</h1>");
document.getElementsByClassName("data2", "thing")[0].innerHTML=n2;


var str3=document.getElementsByClassName("author" ,"twitter")[0].innerHTML; 
var n2=str3.replace(/(\>|&gt;)/g,"<h1>moon3</h1>");
document.getElementsByClassName("author", "twitter")[0].innerHTML=n2;
<div class="label">With Profits Financial Strength:</div>
<div class="data rating">****</div>
<div class="data2 thing">+</div>
<div class="author twitter"> > </div>