.html () error de bizzare del método jQuery: se resuelve en un espacio vacío localmente, pero no en producción
-
02-07-2019 - |
Pregunta
Estoy haciendo un comando jquery simple:
element.html (" & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; ");
utilizando los atributos / método html: http://docs.jquery.com/Attributes/html
Funciona en mi servidor de motor de aplicaciones local, pero no funciona una vez que empujo al servidor de Google. El elemento se vacía, pero no se llena con espacios.
Entonces, en lugar de " "
(6 espacios) es solo " "
.
Una vez más, esto se está ejecutando en App Engine, pero no creo que eso deba importar ...
Solución
Puedes intentar generar el espacio durante el tiempo de ejecución, para que no se recorte o lo que ocurra durante el transporte:
element.html(String.fromCharCode(32));
Otros consejos
Esto podría no ser una respuesta directa a su problema, pero ¿por qué incluso desea poner un montón de espacios? Probablemente pueda lograr el mismo resultado simplemente cambiando el padding-left
o text-indent
de ese elemento.
element.css("textIndent", "3em");
Usar un montón de & amp; nbsp;
s es una forma muy dudosa de hacer sangría.
Su jQuery debería verse así:
$('element').html(' ');
... donde ' & amp; nbsp;
' es igual a una vez espacio.
(con todos los espacios que desee, por supuesto)
¿Has intentado usar & amp; nbsp;
en lugar de espacios? El método html ()
simplemente bombea la cadena al interiorHTML de los elementos.
¿Existe la posibilidad de que el código se minimice como parte del proceso de implementación en App Engine?
No esperaría que se conservara ninguna cadena de espacios en blanco tal como está escrita, tal vez podría escapar del espacio en blanco y obligar a cualquier minificación a abandonarlo:
ejemplo:
element.html('\ \ \ \ \ \ \ \ \ \ \ \ ');