Error tonto comillas javascript

eXtreM3

Me estoy volviendo loco, será por las horas que llevo con esto. Tiene que ser una tontería pero os juro que no lo veo, hay algo en este código que está mal

$("#contenedor-posts").append(
	'<div class="foto"><img src="__images/users/' + dataJson[i].comentario_ruta +'" /></div>' +
	'<div class="datos">
		<span class="nombre">' + dataJson[i].comentario_id + dataJson[i].comentario_username +'</span>
		' + dataJson[i].comentario_content +'<br />
		<div class="escrito">
			Escrito el ' + dataJson[i].comentario_fecha +'<br>
		</div>
	</div>
	<div class="limpiar"></div>'
);

Ayuda por favor!

m0rG

El problema es que estás usando saltos de línea para partir strings. En Javascript el contenido que va entre '' o "" (cadenas de texto literales) debe ir en una única línea o utilizar el backslash '\' para indicar saltos de línea. Por ejemplo la cadena:

var str='esto
        es
        una
        string'

en Javascript debe ser:

var str='esto\
        es\
        una\
        string'

o usando el operador de concatenación:

var str='esto'+
        'es'+
        'una'+
        'string'

Tu ejemplo podría reescribirse tal que así:

$("#contenedor-posts").append(
            '<div class="foto"><img src="__images/users/' + dataJson[i].comentario_ruta +'" /></div>' +
            '<div class="datos">\
                <span class="nombre">' + dataJson[i].comentario_id + dataJson[i].comentario_username +'</span>' 
                + dataJson[i].comentario_content +'<br />\
                <div class="escrito">Escrito el ' + dataJson[i].comentario_fecha+'<br></div>\
             </div>\
             <div class="limpiar">\
             </div>'
    );

Si utilizas un IDE o algún editor que coloree la sintaxis del código es fácil detectar este tipo de errores ;).

1 respuesta
eXtreM3

#2 pues por lo visto no era tan tonto como yo pensaba. No tenía ni idea de lo de \ cuando hay un salto de línea. Efectivamente ese era el error.

Muchas gracias ;)

(el Sublime Text 2 no me detectaba errores en la sintaxis, por eso me volvía loco xd)

1 respuesta
Wasd

#3 Estoy empezando con Sublime Text 2, supongo que lo de la sintaxis te lo dice algún plugin no?
Podrías decirme los más útiles que conozcas? Thx!

1 respuesta
eXtreM3

#4 la verdad es que llevo 5 años con el editor de código del Dreamweaver :D

Pero puedo decirte sublime text (está a punto de salir el 3), notepad++... hay muchos más, a ver si alguien puede recomendarte otro.

Por cierto, captura de cómo me salía la sintaxis mal

1 respuesta
Wasd

#5 Mmm no me refería a editores de texto, sino a plugins de sublime text, pensaba que alguno te decía los posibles errores de sintaxis (como lo haría un IDE), pero ya veo que te basas en los highlight syntax del código.

Gracias por la respuesta de todas formas :) estaré atento a Sublime Text 3!

1 respuesta
speciaL

#6 Aquí tienes cientos de package para ST2: http://wbond.net/sublime_packages/community haz una búsqueda por Javascript y seguro que encuentras algo.

Usuarios habituales

  • speciaL
  • Wasd
  • eXtreM3
  • m0rG