无法将正确的ID传递给.replaceWith()

时间:2016-05-24 22:21:09

标签: javascript jquery 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>" );

顺便说一句。我在这里基本上没有提到将jtml ID提交给javascript的内容?谢谢!

1 个答案:

答案 0 :(得分: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')