检查链接(不是URL)是否包含一些文本(.jpg,.gif,.png)

Som*_*e33 2 javascript jquery

只是为了给出一个想法,我在这里尝试做的是一个示例代码:

$(function(){
  if ($('.maybe > div > a.link:contains(".JPG, .jpg, .gif, .GIF")').length) {
    alert('hello');
});
Run Code Online (Sandbox Code Playgroud)

我想检查一些链接的内容是否包含点和所有图像扩展名的字母,如

<div class="maybe">
 <div>
   <a class="link" href="someURL">thisIsAnImage.jpg</a>
   <a class="link" href="someURL">thisIs**NOT**AnImage.pdf</a>
 </div>
</div>
 <div class="maybe">
 <div>
   <a class="link" href="someURL">thisIs**NOT**AnImage.zip</a>
   <a class="link" href="someURL">thisIsAnotherImage.png</a>
 </div>
</div>
Run Code Online (Sandbox Code Playgroud)

div和链接是由php动态生成的,所以一旦页面生成,就无法知道有多少链接和div.

如何以适当的方式编写代码?

非常感谢帮助我解决问题.

小智 7

这是我的第一直觉:

$('.maybe .link').each(function () {
    if ($(this).text().toLowerCase().match(/\.(jpg|png|gif)/g)) {
        console.log("yay I did it");
    }
});
Run Code Online (Sandbox Code Playgroud)

在链接文本上使用toLowerCase(),这样您就不必检查大小写.然后将String.match(regex)与regex组一起使用以匹配所有文件扩展名.

希望这可以帮助!

编辑:这是jsfiddle中的一个例子.打开javascript控制台以查看console.log语句的输出.http://jsfiddle.net/9Q5yu/1/