将alt属性添加到灯箱幻灯片标题?

  1. 我正在使用Nivo Lightbox插件。 我也在使用CMS超现实主义。 我希望客户能够在Nivo Lightbox幻灯片中更改图像的标题。 幻灯片显示的标题在围绕图像标记的锚标记中给出,标题属性声明幻灯片显示的标题:

     
  2. CMS编辑器仅为客户端提供编辑图像alt属性的选项。 因此,我需要将锚的title属性交换为图像的alt标记。

问题:如何将幻灯片链接的标题链接到图像标记的alt属性而不是围绕它的锚点的title属性?

我在插件中找不到任何选项; 没有对HTML(或DOM更改)进行任何更改我的实际解决方案(但我认为可以改进)是使用beforeShowLightboxafterShowLightbox事件来获取子img alt属性并将其设置在灯箱标题中。

码:

 var altText; $(document).ready(function () { $('#nivo-lightbox-demo a').nivoLightbox({ effect: 'fade', beforeShowLightbox: function () { altText = $($(this)[0].el).find('img').prop('alt'); }, afterShowLightbox: function (light) { if (altText!=="") $($(light)[0]).find('.nivo-lightbox-title').html(altText); } }); }); 

演示: http : //jsfiddle.net/IrvinDominin/MH8mu/

为了不改变CMS既不是Lightbox插件代码,我会使用watch 插件在alt属性发生变化时以及在更改title属性之后发现。

使用jquery: $('[data-lightbox-gallery] img').attr('alt', $('[data-lightbox-gallery] img').parent().attr('title'));

后来编辑:我不知道我是否想念你,但似乎你想要我写的完全相反的东西:

$('[data-lightbox-gallery]').each(function(){ $(this).attr('title', $(this).children('img').attr('alt')); }

Interesting Posts