我想知道是否有人可以提供帮助。我试图使用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');
}
});
});
谢谢!
答案 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之间的管道,但是你之后有一个额外的管道可以匹配任何东西。