JavaScript重新发生取代innerHTML

时间:2012-10-26 08:13:16

标签: javascript replace

我正在尝试替换html正文中的字符。我给了P标签的id。

java脚本

 function myFunction()
{
 var str=document.getElementById("branch").innerHTML; 
 var n=str.replace("rw","somesymbol");
 var n=str.replace("er","somesymbol");
 var n=str.replace("im","somesymbol");
 document.getElementById("branch").innerHTML=n;
}

HTML代码

 <button onclick="myFunction()">replace</button>

 <p id="branch"> contents </p>
 <p id="branch"> contents </p>
 <p id="branch"> contents </p>
 <span class="s1"><img src="image.jpg"></span>
 <p id="branch">contents</p>

我有几个id为“branch”的段落。我的问题是,当我点击替换按钮时,它只会替换第一段而不会遍历整个页面。我试图从身体中删除整个P标签,并且只保留整个内容的段落标签,在这种情况下,我的图像标签变得混乱,因为我将少量英文字符替换为符号。

希望你的专家可以帮助我。感谢

感谢彼得&amp; Neiljun

不幸的是以下不起作用。我尽力去解决这个问题。我仍然没有找到正确的剧本。

新的java脚本

 function myFunction()
{ 
 var str=document.getElementByClassName("branch").innerHTML;
 var n=str.replace("rw","somesymbol");
 var n=str.replace("er","somesymbol");
 var n=str.replace("im","somesymbol");
 document.getElementByClassName("branch").innerHTML=n;
}

新的HTML代码

 <script src="http://code.jquery.com/jquery-latest.js"></script>
 <script src="file.js"></script>

 <button onclick="myFunction()">replace</button>

 <div class="demo">nfhry ehL. tsik kpFe;j ,e;jf; nfhry ehl;od; jiyefuk;</div>
 <div class="demo">mnahj;jp vd;w jpUefuhFk;. ,e;efuj;jpy; thGk; kf;fs; kwe;Jk; jP';F</div>
 <span class="s1"><img src="image.jpg"></span>

2 个答案:

答案 0 :(得分:0)

使用jQuery和class属性。那样你将要做的就是简单 $('。branch')。forEach(...)

答案 1 :(得分:-1)

Blender是对的 - 您可以使用class代替。这将在整个段落中运行。将id替换为class