字符串包含

时间:2010-10-06 10:53:59

标签: jquery jquery-selectors

在我的内部网页面上,我的链接以.doc或.xls结尾。

如何使用jQuery检查它们是否以.xls结尾,这样我就可以为这些链接添加一些javascript

编辑:

这不起作用:

$("a.resultLink").live('click', function(event)
{
    // do something here
    // ...

    // change .doc link behaviour
    var anchor = $("a:contains('.doc')"); 
    if (anchor){ 
        event.preventDefault(); 
        alert("this is a doc");
    } 

    // do something else here
    // ...
});

3 个答案:

答案 0 :(得分:5)

使用Attribute Ends With Selector [name$=value]。例如,要将类excel_link添加到指向以.xls结尾的文件的所有链接,您可以执行以下操作:

$("a[href$='.xls']").addClass("excel_link");

如果您已经拥有该元素,那么您只想这样做:

$("a.resultLink").live('click', function(event)
{
    // do something here
    // ...

    // change .doc link behaviour
    var anchor = $(this); 
    if (anchor.attr("href").match(/\.doc$/){ 
        event.preventDefault(); 
        alert("this is a doc");
    } 

    // do something else here
    // ...
});

答案 1 :(得分:0)

如果它在文本中你可以使用CSS定位器包含。文档位于http://api.jquery.com/contains-selector/

var anchor = $("a:contains('.xls')");
if (anchor){
  anchor.addClass("myNewClass"); // Change this to what every jQuery command that you want
}

如果您有其中一些

$("a:contains('.xls')").each(function(index){
   $(this).addClass("myNewClass");
});

答案 2 :(得分:0)

标准javascript(正则表达式)可以执行此操作:

if(str.match(/\.doc$/)) {dosomething();}

其中str是要检查的文件名