2011-10-12 35 views
2

我有一個問題,如何在div標記中使用javascript替換()?我試過這樣:如何在div中使用替換?

<html> 
<body> 
<div id="ahoj">ahoj</div> 

<script type="text/javascript"> 

document.write(document.getElementById("ahoj").replace("ahoj","hola")); 

</script> 
</body> 
</html> 

...但它不工作..任何想法?

回答

2

document.getElementById("ahoj")是一個HTMLElement對象。使用document.getElementById("ahoj").innerHTML

document.write(document.getElementById("ahoj").replace(/ahoj/g,"hola")); 

或者,如果你不希望一個新的元素:

document.getElementById("ahoj").innerHTML = document.getElementById("ahoj").innerHTML.replace(/ahoj/g,"hola"); 

替換字符串的innerHTML設置爲新的字符串。 Example

+0

是的,這就是我一直在尋找的! –

0

我認爲innerHTML是你需要使用的。

document.write(document.getElementById("ahoj").innerHTML.replace("ahoj", "hola")); 
0
<script type="text/javascript"> 
    var el = document.getElementById("ahoj"); 
    el.innerHTML = el.innerHTML.replace(/ahoj/g,」hola」); 
</script> 
+0

即使您的代碼確實有效,您也會在頁面中添加第二個元素。我猜你想更改現有的元素。 最好抓住該元素,然後操縱它。 請注意,我的解決方案不會更改ID。如果你的目標是克隆改變ID和InnerHTML的第一個元素,你可能想要提出一個更可重用的解決方案;也許從零開始構建節點或使用模板。 – Dave

+0

等等,很抱歉,但我還有1個問題,如何使它取代evary ahoj單詞?因爲這隻會取代一個.. 例如:

ahoj ahoj ahoj
結果:hola ahoj ahoj 而我想要的結果是:hola hola hola ... 如何? –

+0

啊。對於那個很抱歉。我編輯代碼以使用全局替換正則表達式。 – Dave