Вы можете использовать метод replace () для экранирования двойных кавычек:
for (var i = 0; i < images.length; ++i) {
gallery += '<img width="250" height="250" src="' + images[i].src
+ '" title="' + images[i].title.replace(/\"/g, '\\"') + '" />';
}
РЕДАКТИРОВАТЬ: Результатом будет допустимая строка Javascript, но она не будет работать как разметка HTML, потому что анализатор HTML не понимает экранирование обратной косой черты. Вам также придется заменить двойные кавычки одинарными кавычками в заголовке вашего изображения:
for (var i = 0; i < images.length; ++i) {
gallery += '<img width="250" height="250" src="' + images[i].src
+ '" title="' + images[i].title.replace(/\"/g, "'") + '" />';
}
Или инвертировать типы цитат в разметке:
for (var i = 0; i < images.length; ++i) {
gallery += "<img width='250' height='250' src='" + images[i].src
+ "' title='" + images[i].title + "' />";
}