选择具有某个get参数的所有链接?

时间:2010-08-20 00:44:14

标签: jquery

例如,我想匹配具有iframe参数的所有链接。因此,它将匹配:

<a href="http://www.example.com?iframe">
<a href="http://www.example.com?iframe=1">
<a href="http://www.example.com?iframe&sortby=awesomeness">

3 个答案:

答案 0 :(得分:7)

您可以使用attribute-contains selector,如下所示:

$("a[href*='?iframe'], a[href*='&iframe']")

这也可以找到这样的东西:

<a href="http://www.example.com?sortby=awesomeness&iframe">

答案 1 :(得分:1)

如果你使用jQuery,它将是

var iframeLinks = $("a[href*='iframe']")

答案 2 :(得分:0)

如果搜索非常具体,您可以创建一个新的选择器:

(function($) {

  $.fn.tagName = function() {
    return this.get(0).tagName.toLowerCase();
  }

  $.expr[':'].inHRef = function(obj, index, meta, stack){

    if ($(obj).tagName() != 'a')
      return false;

    var afi = $(obj).attr('href').split('?'), sfi, txt = meta[3];

    if (afi.length == 1)
       return false;

    sfi = afi[1];

    // Regular Expression

    var rgCI = '\\'+sfi+'\\gi';

    // case-insensitive
    return (rgCI.match(txt));

    var rgCS = '\\'+sfi+'\\g';

    // case-sensitive
    //return (rgCS.match(txt));

    // IndexOf

    // case-insensitive
    //return ( sfi.toLowerCase().indexOf(txt.toLowerCase()) > -1);

    // case-sensitive
    //return ( sfi.indexOf(txt) > -1);

};

})(jQuery);

$(function() {

    $('a:inHRef(iframe)').css('background-color', '#aaaaa0');

});​

example

example update

example end update