Строка содержит - PullRequest
       3

Строка содержит

2 голосов
/ 06 октября 2010

На моей странице в интрасети есть ссылки, заканчивающиеся на .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 ]

5 голосов
/ 06 октября 2010

Используйте Окончание атрибута с селектором [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
    // ...
});
0 голосов
/ 06 октября 2010

стандартный javascript (regex) может сделать это:

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

, где str - имя файла для проверки

0 голосов
/ 06 октября 2010

Если его в тексте вы можете использовать локатор 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");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...