javascript - 检查链接(不是 URL)是否包含某些文本(.jpg、.gif、.png)

标签 javascript jquery

只是为了说明我想要做什么,这是一个示例代码:

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

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

<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>

div和链接是由php动态生成的,因此无法知道页面生成后会有多少个链接和div。

如何正确编写代码?

非常感谢您帮助我解决问题。

最佳答案

这是我的第一直觉:

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

在链接文本上使用 toLowerCase(),这样您就不必同时检查大小写。然后使用 String.match(regex) 和正则表达式组来匹配所有文件扩展名。

希望这有帮助!

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

关于javascript - 检查链接(不是 URL)是否包含某些文本(.jpg、.gif、.png),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24066629/

相关文章:

javascript - 带有 MySQL 的 jQuery 和 PHP 中的价格范围 slider

图像上的 Javascript 动画

javascript - JQuery:排除一个子元素

javascript - 在 ReactJS 中使用服务器端 HTML 模板

javascript - 如何在第二次点击后销毁cookie

Javascript 控制台应用程序?

javascript - 使用 CURL 和 Ajax

javascript - 来自 MySQL 的 JQuery 格式日期。如何?

javascript - 根据返回的数据隐藏和取消隐藏表 div

javascript - 如何使用 Canvas 创建半水滴和半砖图案