2013-03-25 11 views
6

私はinnerHTML javascriptを使用してhtmlを置き換えようとしています。Javascript - innerHTMLを使用してhtmlを置き換えます。

から:

aaaaaa/cat/bbbbbb 

へ:

<a href="http://www.google.com/cat/world">Helloworld</a> 

私はそれがHelloWorldのハイパーリンクを消え、このコードを実行するとこれは私のコード

<html> 
<head> 
</head> 
<body> 
<p id="element1">aaaaaa/cat/bbbbbb</p> 

<script language="javascript"> 
var strMessage1 = document.getElementById("element1") ; 
strMessage1.innerHTML = strMessage1.innerHTML.replace(/aaaaaa./g,'<a href=\"http://www.google.com/') ; 
strMessage1.innerHTML = strMessage1.innerHTML.replace(/.bbbbbb/g,'/world\">Helloworld</a>') ; 
</script> 
</body> 
</html> 

です。 私が間違っていること。助けてください。

ありがとうございました。

答えて

11

結果を代入してもう一度置換する代わりにreplace()を一緒にチェーンする必要があります。

var strMessage1 = document.getElementById("element1") ; 
strMessage1.innerHTML = strMessage1.innerHTML 
         .replace(/aaaaaa./g,'<a href=\"http://www.google.com/') 
         .replace(/.bbbbbb/g,'/world\">Helloworld</a>'); 

DEMOを参照してください。

2

開始タグを置き換えてからinnerHTMLに戻すと、コードは無効になります。

関連する問題