2016-05-24 44 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