只是为了说明我想要做什么,这是一个示例代码:
$(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/