代码之家  ›  专栏  ›  技术社区  ›  Omiod

使用Jquery解析XFN数据

  •  0
  • Omiod  · 技术社区  · 16 年前

    我试图过滤网页中的XFN关系元数据。 是这样的:

    <a href="site" rel="friend colleague" >Name</a>
    

    在REL中,你可以有各种各样的价值观,比如“朋友”、“同事”,甚至“我”和“相识”

    xfn_me = $("a[rel*=me]").length; 
    

    即使存在多个值,是否有方法精确过滤这些值?

    非常感谢。

    3 回复  |  直到 14 年前
        1
  •  0
  •   Matthew Crumley    16 年前

    你可以使用 [attribute~=value] 选择器。它基于空间分隔的值进行选择,就像xfn和CSS类的工作方式一样,即。 [class~=className] 完全一样 .className

    xfn_me = $("a[rel~=me]").length;
    

    我在jQuery文档中找不到它,但它至少在1.3中工作。

        2
  •  0
  •   Doug Neiner    16 年前

    因为您使用的是jQuery,所以可以这样做:

    $('a[rel*=me]').filter(function(){ 
       return $.inArray('me', $(this).attr('rel').split(' ')) > -1;
    }).length;
    

    a 元素 是匹配项,然后通过将rel标记拆分为数组并检查是否找到实际匹配项来过滤它们。

    编辑: 我更新了我的代码 !$.inArray $.inArray > -1 由@UVL发现。

        3
  •  0
  •   Omiod    16 年前

    解决方案(至少在jquery 1.2之前)是:

    xfn_me = $('a[rel*=me]').filter(function(){ 
     return $.inArray('me', $(this).attr('rel').split(' ')) > -1;
    }).length;
    

    投入 xfn_me 人数 A rel 匹配“me”,即使使用了多个rel值。