2015-07-21 1 views
0

Я не уверен, что проблема здесь, но по какой-то причине я не могу получить innerHTML, чтобы вставить строку в мой div на 6-й строке нижеприведенного кода. Вот фрагмент кода:Не могу установить innerHTML

var caption = $(this).attr('data-caption'); 
    if (caption) { 
     //document.write(caption); 
     $('.caption-overlay').addClass('show'); 
     $('.caption-overlay').removeClass('hide'); 
     $('.caption-overlay').innerHTML = caption; 

    } else { 
     $('.caption-overlay').addClass('hide'); 
     $('.caption-overlay').removeClass('show'); 
    } 

Я проверил снова и снова и caption действительно возвращает значение, простую текстовую строку.

Остальная функция работает нормально, и инструкция if/else работает правильно. Я пытался в течение нескольких часов, чтобы выяснить, что случилось ...

Я также попытался:

$('.caption-overlay').innerHTML = caption.value;

$('.caption-overlay').innerHTML = String(caption);

Но ни один из тех, кто работает либо. Может ли кто-нибудь помочь?

+1

'$ (» заголовок-накладку. ') [0] = .innerHTML подпись; 'первый, или, скорее всего,' $ (' подпись. -overlay '). html (caption); ' –

ответ

3

Я считаю, что вы ищете jQuery.html

$('.caption-overlay').html(caption); 
+0

Спасибо! Это сработало, за исключением без 'value'. Итак, '$ ('. Caption-overlay'). Html (caption);' – Eckstein