【问题标题】:How to grab a reference to each image's alt tag and display it as a caption below the corresponding image in a lightbox gallery如何获取对每个图像的 alt 标签的引用并将其显示为灯箱库中相应图像下方的标题
【发布时间】:2013-06-27 01:06:44
【问题描述】:

我试图在 jQuery 灯箱中获取对图库图像的 alt 标记的引用,并在它跳转到更大图像的链接并将其放入灯箱后,将其显示为图像下方的标题。

$(function(){

    $('.gallery a').on('click', function(e){
        var image_source = $(this).attr('href');
        var text = $('.gallery a img').attr('alt'); 

        $('#content').html('<img src="' + image_source + text + '">');
        /* .html('<p style="color:#fff;">' + alt_text + '</p>');
-----------above was the other method I tried which didn't work so I commented it out--  -----*/

        $('#lightbox').show();

        e.preventDefault();
    });//End Gallery


    $('#lightbox').on('click', function(){
        $(this).hide();
        $('#content img').remove();
    });
});//End Ready

当然,我希望在单击图库缩略图时显示相应图像的 alt 标签以显示相应的较大图像。

任何建议将不胜感激,在此先感谢! 这是它的 JSFiddle: http://jsfiddle.net/graphicsinc/37A4y/13/

【问题讨论】:

    标签: jquery lightbox


    【解决方案1】:

    应该是 text 而不是 alt_text 将变量名称 text 重命名为 alt_text

    编辑:代码应该是这样的:

    $(function() {
    
        $('.gallery a').on('click', function(e) {
            e.preventDefault();
            var image_source = $(this).attr('href');
            var alt_text = $('.gallery a img').attr('alt');
    
            $('#content')
                //.html('<img src="' + image_source + text + '">');
                .html('<p style="color:#fff;">' + alt_text + '</p>');
            $('#lightbox').show();
        });//End Gallery
    
        $('#lightbox').on('click', function() {
            $(this).hide();
            $('#content img').remove();
        });
    
    });//End Ready
    

    jsFiddle

    EDIT2:如果你想将alt属性添加到img,它应该是这样的

    $('#content').html('<img src="' + image_source + '" alt="' + alt_text + '">');
    

    jsFiddle

    【讨论】:

    • “alt_text”是我在“text”之前命名的变量。我在一行代码中尝试过它是否可以工作,但无济于事。如您所见,该行代码已被注释掉。如果我理解正确,你是说不要使用“文本”,因为它是一个“保留词”;换句话说:一个 jQuery 实体?我只是想知道是否可以按照我尝试的方式选择 IMG 标签的 alt 属性:

      $('gallery a img').attr('alt');?
    • 好的,我将变量名更改为 alt_text....然后....什么也没发生。 [jsfiddle.net/37A4y/16/] 建议?
    • 像魅力一样工作!谢谢,影子!
    猜你喜欢
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多