Usted puede utilizar el método replace() para escapar de las comillas dobles:
for (var i = 0; i < images.length; ++i) {
gallery += '<img width="250" height="250" src="' + images[i].src
+ '" title="' + images[i].title.replace(/\"/g, '\\"') + '" />';
}
EDIT: el resultado será una cadena de Javascript válida, pero no funcionará como marcado HTML porque el analizador HTML no comprende los escapes de la barra invertida. Ya sea que usted tiene que reemplazar comillas dobles con comillas simples en su título de la imagen:
for (var i = 0; i < images.length; ++i) {
gallery += '<img width="250" height="250" src="' + images[i].src
+ '" title="' + images[i].title.replace(/\"/g, "'") + '" />';
}
O invertir los tipos de cotización en su margen de beneficio:
for (var i = 0; i < images.length; ++i) {
gallery += "<img width='250' height='250' src='" + images[i].src
+ "' title='" + images[i].title + "' />";
}
No necesita duplicarlo, ya que está entre comillas simples. Además, 'replace' solo se ocupará de la primera cita a menos que haga'/\ "/ g'. –
@Jeff, tiene razón sobre' replace() ', gracias :) Pero ¿a qué se refiere con' double escape'? –
Tiene '' \\ "'', pero realmente quiere '' \" ''. Es una cadena literal de una sola cita, por lo que no necesita escapar de nada, incluida la barra. –