2013-03-25 7 views
6

का उपयोग करके एचटीएमएल बदलें, मैं आंतरिक HTML जावास्क्रिप्ट का उपयोग करके एचटीएमएल को प्रतिस्थापित करने की कोशिश कर रहा हूं।जावास्क्रिप्ट - आंतरिक 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

आप श्रृंखला परिणाम बताए और फिर जगह की बदल दिया जाना चाहिए() एक साथ के बजाय।

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 में डाल रहे हैं, इसलिए कोड अमान्य होगा। सभी प्रतिस्थापन बनाने से पहले आप तत्व में वापस कोड डाल:

var html = strMessage1.innerHTML; 
html = html.replace(/aaaaaa./g,'<a href=\"http://www.google.com/'); 
html = html.replace(/.bbbbbb/g,'/world\">Helloworld</a>'); 
strMessage1.innerHTML = html; 
संबंधित मुद्दे