意外的令牌<用jQuery

时间:2013-04-03 17:19:26

标签: javascript jquery

这真的困扰着我,我无法弄清楚如何解决这个问题。我创建问题的代码是:

$("#add-warmup").click(function(){
    $("#warmup").empty().prepend('<td><input type="text" name="distance-warm" maxlength="7" size="4"> miles</td><td><input type="text" name="duration-warm" maxlength="8" size="8" placeholder="HH:MM:SS" /></td><td>Warmup<input type="hidden" name="type-warm" value="Warmup" /></td><td><select name="shoe-warm"><option value=""><?= str_repeat('&nbsp;', 12); ?></option>></select></td>');
>});

我只是想单击一个链接并将当前行替换为输入的实际值,但我在报价的第一部分不断收到Unexpected token <错误。像.prepend('<p> test</p>');这样简单的工作,但这不是

4 个答案:

答案 0 :(得分:1)

尝试替换此

<?= str_repeat('&nbsp;', 12); ?>

<?= str_repeat("&nbsp;", 12); ?>

答案 1 :(得分:0)

如果你把前面的内容包起来,它会起作用吗?

$("#add-warmup").click(function(){

$("#warmup").empty().prepend($('<td><input type="text" name="distance-warm" maxlength="7" size="4"> miles</td> <td><input type="text" name="duration-warm" maxlength="8" size="8" placeholder="HH:MM:SS" /></td> <td>Warmup<input type="hidden" name="type-warm" value="Warmup" /></td>
<td><select name="shoe-warm"><option value=""><?= str_repeat('&nbsp;', 12); ?></option> </select></td>'));

});

编辑: 从屏幕截图中http://gyazo.com/1f01eabd8e3acacc3eb534f5a88fc6cf.png?1365010212

AHA!罪魁祸首显示出来!在打开“请参阅此处:Creating multiline strings in JavaScript

后,您的文字就会从该行开始

答案 2 :(得分:0)

发布的代码有一些问题。您正在使用单引号在字符串内部使用未转义的单引号(')。 <?= str_repeat('&nbsp;', 12); ?>应为<?= str_repeat(\'&nbsp;\', 12); ?><?= str_repeat("&nbsp;", 12); ?>

另请注意您在jQuery中使用PHP的事实。 (除非JS是由PHP生成的。)

但是您的Unexpected token >错误来自于您在功能结束时额外>这一事实。

答案 3 :(得分:0)

使用:

.prepend('<p>test</p>'); 

尝试

.prepend('\<p\>test\<\/p\>');

还尝试将您前面的HTML保留在一行中。

我也注意到,当我发布这个时,你的代码充满了回车。也删除这些