2012-03-31 19 views
5

Mi código es el siguiente:Error de sintaxis con jQuery anexar

 <script> 
     var i = 2; 
     $("document").ready(function(){ 
      $("#newrow").click(function(){ 
       $("#maintable").append('<tr> 
             <td><input type="text" name="dept_" + i size="5" maxlength="5" /></td> 
             <td><input type="text" name="hours_" + i size="5" maxlength="1" /></td> 
            </tr>'); 
      }); 
      i = i + 1; 
     }); 
    </script> 

Siempre que lo ejecuto, JavaScript me da una "SyntaxError no detectada: Token inesperado ilegal" en el $ ("# maintable") añada la línea. .

Por mi vida, no puedo entender cuál es el error de sintaxis.

No hay problema con el elemento actual que se adjunta, porque también intenté '<td></td>' y obtuve el mismo error.

Respuesta

13

No se puede dividir una cadena en líneas múltiples sin un tratamiento especial. O bien ponerlo todo en una línea, o escapar de los saltos de línea con barras invertidas:

'<tr>\ 
    <td><input type="text" name="dept_"' + i + ' size="5" maxlength="5" /></td>\ 
    <td><input type="text" name="hours_"' + i + ' size="5" maxlength="1" /></td>\ 
</tr>' 
documento
2
<script> 
    var i = 2; 
    $(document).ready(function(){ 
     $("#newrow").click(function(){ 
      var html = '<tr>'; 
       html += '<td><input type="text" name="dept_"'+i+' size="5" maxlength="5" /></td>'; 
       html += '<td><input type="text" name="hours_"'+i+' size="5" maxlength="1" /></td>'; 
       html += '</tr>' 
      $("#maintable").append(html); 
     }); 
     i++; 
    }); 
</script> 

no tiene cotizaciones, en este momento de su función "listo" no funciona! ¡La variable "i" no se agrega en absoluto! Una cadena no se puede dividir en varias líneas a menos que use líneas nuevas, agregue a una variable o algo similar.

+0

Downvoted porque el documento puede ser entre comillas. –

+0

¿Hablas en serio? – adeneo

+0

Está funcionando bien con las comillas todavía allí. De hecho, me di cuenta después de la votación negativa que eso era un poco duro, pero StackOverflow no me deja deshacerlo. Editar: Descubrí cómo. –