2015-09-10 26 views
0

这不考虑替代或错误情况。如果不存在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

只需声明你的属性变量就像这样:var attributes = {src:thumb.attr('src'),alt:'',title:''};'。 –

回答

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

attr()该方法是一种吸气剂与一个参数使用时。它在与两个参数一起使用时变成一个setter,第一个是属性名称,第二个是要设置的值。在这种情况下,会使用空字符串。

+0

我遇到了这个方法的问题。使用'thumb.attr('alt','')'将导致''而不是预期的''。后者是纯粹装饰图像的首选(“标记纯装饰图像,以便辅助技术可以通过使用空白alt属性忽略它们(alt =”“)。”ref:https://www.w3.org /TR/2014/REC-html5-20141028/embedded-content-0.html#alt) – theJBRU

相关问题