2013-09-04 3 views
1

Мой код выводит ряд объектов на консоли, как:JQuery добавить класс к ссылке

  • Object [a.mod-статьи-категория-название 362-о-дие-ео-КБС]
  • Object [a.mod-статьи-категория титульный Curso-бс ... э-Gestão]
  • Object [a.mod-статьи-категория титульный Curso-бс ... Processo]

Код выглядит так:

var obj = <?php echo json_encode($paginas); ?>; 

$('a.mod-articles-category-title').each(function() { 
    var links=$(this).attr('href'); 

    if(links.indexOf('/')!=-1){ 
     i=1; 
    } 
    else{ 
     i=0; 
    } 

    var procura=links.match(/(\d+)/g)[i]; 

    if(obj.indexOf(procura)!=-1){ 
     console.log($(this)); 
     $(this).addClass("visto"); 

    }; 

}); 

Где obj - массив, возвращаемый функцией PHP, и procura возвращает число с идентификатором ссылки.

Если число в Прокуре в массиве OBJ, я хочу, чтобы добавить класс «Visto», чтобы придать ему другой стиль, но он не работает ...

+0

Чтобы уточнить, объекты JQuery которые показываются в консоли правильно, но не добавляется класс? –

+0

Да, это правильно, код выбирает нужные объекты, но не добавляет класс –

+0

. Мне трудно поверить ... Вы уверены, что css в классе 'visto' не просто переопределяется другим стилем? Вы проверили элементы, чтобы увидеть, был ли класс там? –

ответ

1

Edit: я пропустил где вы сказали, что obj - массив. Для этого есть несколько другая проверка. Просто проверьте, является ли procura действительным индексом для массива obj и проверьте, что существует obj[procura].

Вот JSFiddle: http://jsfiddle.net/rxgLC/

Вы лечения obj как струна, вызывая indexOf на нем. Если вы ищете собственности на объект, используйте hasOwnProperty

if(obj.hasOwnProperty(procura)){ 
    console.log($(this)); 
    $(this).addClass("visto"); 

}; 

Смежные вопросы