如何使用jquery/javascript通配符查找图像
下面是一个场景。我用的是clolorbox。目前,我已经找到了父容器id中的所有链接来使用lightbox。如果所有这些链接都是图像,那么这很好。然而,我希望能够将a链接限制为只包含图像的链接。父级中将混合使用图像链接、pdf和autocad文件。理想情况下,我需要一种方法来使用.jpg和png的通配符来替换我的find(a)。我目前的代码是:如何使用jquery/javascript通配符查找图像,javascript,jquery,Javascript,Jquery,下面是一个场景。我用的是clolorbox。目前,我已经找到了父容器id中的所有链接来使用lightbox。如果所有这些链接都是图像,那么这很好。然而,我希望能够将a链接限制为只包含图像的链接。父级中将混合使用图像链接、pdf和autocad文件。理想情况下,我需要一种方法来使用.jpg和png的通配符来替换我的find(a)。我目前的代码是: $(document).ready(function(e) { $('#documents-items').find('a').colorbox
$(document).ready(function(e) {
$('#documents-items').find('a').colorbox();
});
我无法用类或类似的东西格式化任何特定的表,因为文档管理器是DNN的一个模块。我可以抓取父id,并希望通配符的图像链接,使其工作
谢谢怎么样
$('#documents-items a[href$=".jpg"]').add('#documents-items a[href$=".png"]')
假设您的HTML如下所示(DOM ID通常不包含破折号,因此我用下划线替换): 快速解释正则表达式中发生的情况:
/…/
=开始和结束表达式
$
=字符串的结尾
|
=或
因此,这与href末尾的jpg或png匹配您可以提供一些示例标记吗?我只想验证您是想基于
的href
还是基于
的某个子元素进行筛选。你那句关于“父母内部会有一个混合体”的话让我不确定。两者都是可行的;答案只会根据标记的不同而有所不同。根据OP的问题,如果您这样做,请不要忘记一个.add()
,也可以抓取那些href
以“.png”+1结尾的锚,这是对属性选择器的一个很好的使用@user45585是jQuery支持的属性选择器的完整列表…@Stevangelista谢谢,没有读到这一部分更改了答案。每个()
迭代所有锚,再加上使用.match()
本机jQ属性选择器就足够了,这看起来像是昂贵的操作。选择的答案很优雅,而且性能肯定更高。干得好,卡斯!
<div id="document_items">
<a href="index.html">HTML Link</a>
<a href="document.pdf">PDF Link</a>
<a href="image.png">Image Link</a>
<a href="image.jpg">JPEG Link</a>
</div>
$(document).ready(function() {
$("#document_items a").each(function() {
var currentHref = $(this).attr("href");
if (currentHref.match(/jpg$|png$/)) {
$(this).colorbox();
}
});
});