2015-09-10 2 views
0

Это не учитывает альтернативные случаи или ошибки. Если для атрибута alt нет атрибута alt, то основное изображение будет содержать текст alt предыдущего изображения. Я хочу очистить этот текст alt, назначив пустую строку этому атрибуту, например. attr.alt = (not_undefined) ? thumb.attr() : '';Как назначить пустую строку атрибуту

Как это сделать?

$(function() { 
$('.component-individual-detail-profile').each(function() { 
    var imgContainer = $(this).find('.photos'); 

    imgContainer.find('li').click(function(e) { 
     e.preventDefault(); 
     var thumb = $(this).find('img'); 
     var attributes = { 
      src: thumb.attr('src') 
     }; 

     if (typeof thumb.attr('alt') !== 'undefined') { 
      attributes.alt = thumb.attr('alt'); 
     } 
     if (typeof thumb.attr('title') !== 'undefined') { 
      attributes.title = thumb.attr('title'); 
     } 
     imgContainer.find('.selected').attr(attributes); 
    }); 
}); 

}); 
+0

Просто объявите переменную 'attributes' следующим образом:' var attributes = {src: thumb.attr ('src'), alt: '', title: ''}; '. –

ответ

1
thumb.attr('alt', '') 

attr() метод геттер при использовании с одним параметром. Он становится сеттерным при использовании с двумя параметрами, первым из которых является имя атрибута, а второе - значение для установки. В этом случае используется пустая строка.

+0

У меня проблема с этим методом. используя 'thumb.attr ('alt', '')' приведет к '', а не ожидаемому' '. Последнее предпочтительнее для изображений, которые являются чисто декоративными («Отметьте чисто декоративные изображения, чтобы их можно было игнорировать вспомогательной технологией, используя пустой атрибут alt (alt =« »). Ref: https://www.w3.org /TR/2014/REC-html5-20141028/embedded-content-0.html#alt) – theJBRU

Смежные вопросы