Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jquery/javascript通配符查找图像_Javascript_Jquery - Fatal编程技术网

如何使用jquery/javascript通配符查找图像

如何使用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

下面是一个场景。我用的是clolorbox。目前,我已经找到了父容器id中的所有链接来使用lightbox。如果所有这些链接都是图像,那么这很好。然而,我希望能够将a链接限制为只包含图像的链接。父级中将混合使用图像链接、pdf和autocad文件。理想情况下,我需要一种方法来使用.jpg和png的通配符来替换我的find(a)。我目前的代码是:

$(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();
        }
    });
});