【问题标题】:jquery each regexp href check some strings at the same timejquery每个正则表达式href同时检查一些字符串
【发布时间】:2023-03-07 15:05:01
【问题描述】:

人!

我有这个:

$('.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 无法正常工作。我认为这是一个小细节的问题......

谁能帮帮我?

非常感谢!

【问题讨论】:

    标签: javascript jquery html regex href


    【解决方案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/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-23
        • 1970-01-01
        • 1970-01-01
        • 2020-09-26
        • 1970-01-01
        相关资源
        最近更新 更多