jquery每个正则表达式href同时检查一些字符串

Posted

技术标签:

【中文标题】jquery每个正则表达式href同时检查一些字符串【英文标题】:jquery each regexp href check some strings at the same time 【发布时间】:2014-10-05 22:08:05 【问题描述】:

人!

我有这个:

$('.download_video a[href*="flv"]').each(function() 

        $( this ).addClass('videoCl');

);

我想在单个代码行中执行许多检查,例如:

$('.download_video a[href*="flv|mpeg|ogg"]').each(function() 

        $( this ).addClass('videoCl');

);

我意识到 flv|mpeg|ogg 无法正常工作。我认为这是一个小细节的问题......

谁能帮帮我?

非常感谢!

【问题讨论】:

【参考方案1】:

您不能将多个属性选择器放在一个选择器中。但是,您可以使用逗号组合多个选择器:

$('.download_video')
    .find('a[href*=flv], a[href*=mpeg] a[href*=ogg]')
    .addClass('videoCl');

请注意,如果您对每个元素执行相同的操作,则无需使用.each; jQuery 自动映射整个集合。

【讨论】:

【参考方案2】:

试试

    $.fn.attrs = function () 
        var args = arguments[0];
        var elem = $(this);
        var map = $.map(arguments[1], function (v, k) 
            return ($("[" + args + "*=" + v + "]").is(elem) 
                    ? elem[0].nodeName.toLowerCase() 
                      + "[" + args + "*=" + v + "]" 
                    : null);
        );
        return $(map.toString());
    ;

$(".download_video a")
.attrs("href", ["mpeg", "flv", "ogg"]).addClass("videoCl");

jsfiddle http://jsfiddle.net/guest271314/834q1awc/

【讨论】:

以上是关于jquery每个正则表达式href同时检查一些字符串的主要内容,如果未能解决你的问题,请参考以下文章

使用正则表达式检查字符串中的第三个字符

python正则

Python其实很简单 第十一章 正则表达式

正则表达式检查集合的第一个和最后一个字符是不是不同

C#使用正则表达式检查字符串中重复出现的词

Python --- 正则表达式