2016-05-24 13 views
0

ich die Antwort wissen passieren ist wahrscheinlich sehr einfach etwas Gonna sein, aber ich bin zu verlieren meine Meinung über diese Arbeit nicht immer:Kann nicht richtig 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> 

Alarm zeigt das Recht ICH WÜRDE. Aber ich kann die Funktion .replaceWith nicht zum Funktionieren bringen.

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

Dies funktioniert übrigens. Was fehlt mir hier im Wesentlichen daran, HTML-IDs an Javascript zu senden? Vielen Dank!

Antwort

1

Ich könnte das Problem missverstehen, aber ich denke, es ist, weil Sie die Zeichenfolge '#id 'anstelle des Werts für id verwenden.

Try this:

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

Sie vielleicht denken, dass Javascript wie PHP funktioniert in Bezug auf die String-Interpolation zu unterstützen. Das heißt, die Sache, die Sie in PHP so etwas wie $variable = 'me'; echo "$variable is cool"; machen lassen, und es ausdrucken lassen me is cool. Aber Javascript macht das nicht. Sie müssen stattdessen String-Verkettung verwenden, d. H. alert(variable + ' is cool').

+0

Vielen Dank. Ich wusste, dass es etwas Einfaches war, aber ich kam nicht dazu. Du hast den Tag gerettet! – Cataras