2015-07-17 4 views
1

Мой код:JQuery Append добавив дополнительные qoute

$("#thescreenshots").append("<img class='screenshotthumbnails' 
    onclick='openScreenshotModal('"+dataReturned['screenshots'][i]+"')' 
    src='/assets/screenshots/"+ dataReturned['screenshots'][i] +"'>"); 

выводит:

<img class="screenshotthumbnails" onclick="openScreenshotModal(" 'img_0203.png')'="" 
    src="/assets/screenshots/IMG_0203.PNG"> 

Почему это добавить дополнительный странный qoute? И как я могу это исправить?

+0

Что такое вы ожидали, и как он отличается от того, что вы на самом деле получили? – shoover

+0

Вы видите в onclick добавление дополнительного qoute – drewg23333

ответ

1

Используйте двойные кавычки внутри тебя нажмите события после побега

onclick='openScreenshotModal(\"" + dataReturned['screenshots'][i] + "\")' 

Это гарантирует, что свойство не заканчивается внезапно, как дальняя свойство начинается с одиночной кавычки.

2

Вам нужно избегать некоторых ваших цитат. Попробуйте это:

$("#thescreenshots").append('<img class="screenshotthumbnails" onclick="openScreenshotModal(\''+dataReturned['screenshots'][i]+'\')" src="/assets/screenshots/'+ dataReturned['screenshots'][i] +'">'); 

Это будет что-то вроде этого:

<img class="screenshotthumbnails" onclick="openScreenshotModal('img_0203.png')" src="/assets/screenshots/IMG_0203.PNG">

0

Было бы лучше, чтобы отделить JavaScript из HTML - форма & функции и все, что ...

Попробуйте что-то вроде этого:

$('body').on('click', '.screenshotthumbnails', function(){ 
    var largeImage = $(this).attr('data-larger-image'); 
    openScreenshotModal(largeImage); 
}); 

var image = '<img class="screenshotthumbnails" data-larger-image="img_0203.png" src="/assets/screenshots/IMG_0203.PNG">'; 

$("#thescreenshots").append(image); 
Смежные вопросы