Pregunta

Tengo este código:

var imgId = this.id; //file1.jpg

y esto:

$('.img\\' + imgId).remove();

Entonces el problema es que no puedo escapar del '.' Porque está en el var, no antes. ¿Que puedo hacer?

¿Fue útil?

Solución

No almacene el nombre de archivo como parte de la clase/ID en su marcado. En su lugar, use un atributo de datos:

<div class="img" data-filename="file1.jpg" />

Y luego en tu jQuery:

$('.img[data-filename="'+imgId+'"]').remove();

Otros consejos

Probablemente he entendido mal la pregunta, pero ¿funcionaría esto?

$('.img\\' + replace(imgId,'.','\.')).remove();

¿No puedes hacer algo como $("#"+imgId, ".img").remove()

Usar .replace para reemplazarlo.

var imgId = this.id.replace('.', '/.'); //Or whatever other escaping is there.

Si bien el período es una entidad válida en una identificación HTML, lo que sugiere fuertemente, sigue una convención de nomenclatura diferente, específicamente una en la que los períodos no se usan en los valores de identificación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top