使用jQuery查找特定的文件扩展名并添加属性

时间:2015-06-23 15:23:19

标签: jquery

我想知道是否有人可以提供帮助。我试图使用jQuery在href中查找特定的文件扩展名,如果它发现它添加了一个属性" data-lightbox"。这就是我到目前为止所做的:

$(document).ready(function() {
    var valid_extensions = /(\.jpg|\.jpeg|\.gif\.png|)$/i;   
    $(".banner ul li.dfwp-item a").each(function() {
        filename = $(this).attr( "href" );
    });
    $(".banner ul li.dfwp-item a").each(function() {
        if(valid_extensions.test(filename))
        { 
            $(this).attr( "data-lightbox", "BannerLightbox" );
            alert('Woo hoo');
        }
        else
        {
            alert('Invalid File');
        }
    });
});

谢谢!

2 个答案:

答案 0 :(得分:1)

以下是您更正后的代码:

$(document).ready(function() {
    var valid_extensions = /(\.jpg|\.jpeg|\.gif|\.png)$/i;   
    $(".banner ul li.dfwp-item a").each(function() {
        filename = $(this).attr("href");
        if(valid_extensions.test(filename))
        { 
            $(this).data("lightbox", "BannerLightbox");
            alert('Woo hoo');
        }
        else
        {
            alert('Invalid File');
        }
    });
});

您需要删除第二个.each()并在您的模式中移动管道(|)。您也可以使用.data()代替.attr()

答案 1 :(得分:0)

看起来你错过了.gif和.png之间的管道,但是你之后有一个额外的管道可以匹配任何东西。