Выбрать все гиперссылки с идентификатором, который виден - PullRequest
3 голосов
/ 30 декабря 2011

У меня много этой гиперссылки на моей странице. Некоторые из них видны, а некоторые скрыты.

 <a class="close-reveal-modal" id="close_car2">&#215;</a>
 <a class="close-reveal-modal" id="close_car3">&#215;</a>
 <a class="close-reveal-modal" id="close_car4" style="display:none;" >&#215;</a>

Итак, сейчас я хочу перебрать все видимые гиперссылки, чтобы id начинался с «close_», и получить индекс, назначить уникальный текст гиперссылке.

Это пример моего кода, но он не работает.

$("a[id^='close_']").is(':visible').each(function (index) {
        if(index=='0')
        {
            $(this).text('test');
        }
    }); 

Как это решить? Спасибо

Ответы [ 2 ]

2 голосов
/ 30 декабря 2011

Попробуйте:

$("a[id^='close_']:visible").each(function (index) {

Из документов на "is ()":

В отличие от других методов фильтрации, .is () не создает новый jQuery объект. Вместо этого он позволяет вам проверять содержимое объекта jQuery без изменений.

1 голос
/ 30 декабря 2011

Как то так будет работать

$('a[id*="close_"]').each(function(i){
    if($(this).is(':visible')){
        if(i == 0){
            $(this).text('Link One');
        }
        if(i == 1){
             $(this).text('Link Two');
        }        
    }    
});

Пример: http://jsfiddle.net/xC4Fp/1

...