2016-05-24 77 views
0

我知道答案可能會是很簡單的東西,但我失去了我的腦海裏沒有得到這個工作:不能正確的ID傳遞給.replaceWith()

<button id="buttonid<?php echo $i?>" onclick="addShift(this.id)">+</button> 
<script> 
    function addShift(id){ 
     alert(id); 
     $('#id').replaceWith("<h2>TEST</h2>");   
    } 
</script> 

警報顯示正確ID。但是我無法使用.replaceWith函數來工作。

$("button").replaceWith("<h2>TEST</h2>"); 

這是工作的方式。我在這裏大概缺少關於提交HTML ID到JavaScript的?謝謝!

回答

1

我可能誤解了這個問題,但我認爲這是因爲您使用字符串'#id'而不是id的值。

試試這個:

<button id="buttonid<?php echo $i?>" onclick="addShift(this.id)">+</button> 
<script> 
    function addShift(id){ 
     alert(id); 
     $('#'+id).replaceWith("<h2>TEST</h2>");   
    } 
</script> 

你可能會想,JavaScript的作品,如PHP在支持串插條款。這意味着,讓你在PHP中執行類似$variable = 'me'; echo "$variable is cool";的事情,並讓它打印出me is cool。但JavaScript不這樣做。您需要使用字符串連接,即alert(variable + ' is cool')

+0

非常感謝。我知道這件事很簡單,但我無法實現。你拯救了一天! – Cataras