JQuery Вар равно Вар не работает - PullRequest
1 голос
/ 02 февраля 2012

Я чувствую себя немного глупо, я пытался найти ответ здесь, но не смог найти правильную вещь. Надеюсь, кто-нибудь может мне помочь.

Я просто пытаюсь сопоставить две разные переменные, поэтому, если они совпадают, элемент должен получить новый класс:

var recentposttitle = $('#catblogoutput h2.post-title').text();
$('#sub-nav ul li a').each(function() {
  var subnavlink = $(this).attr('title');


    if (subnavlink == recentposttitle) {
        $(this).addClass('selected');

    }
});

Ну, это не работает. Есть идеи почему? Цени это!

Ответы [ 4 ]

0 голосов
/ 02 февраля 2012

Согласовано. Ваш код действителен.

Попробуйте напечатать строки на консоль для справки. Скорее всего, они не совпадают.

var recentposttitle = $('#catblogoutput h2.post-title').text();

$('#sub-nav ul li a').each(function(){  
    var subnavlink = $(this).attr('title');     

    console.log("Post Title: '" + recentposttitle + "'");
    console.log("Menu Link: '" + subnavlink + "'");

    if(subnavlink==recentposttitle){        
        $(this).addClass('selected');
    }
});
0 голосов
/ 02 февраля 2012

Код работает. Я проверил его, и с правильной разметкой он работает просто отлично.

Посмотрите пример и сравните разметку с вашей:

http://jsfiddle.net/Guffa/NHexj/

0 голосов
/ 02 февраля 2012

Код выглядит правильно, теперь нам нужно увидеть разметку, которая идет вместе, потому что запросы в вашем фрагменте могут не соответствовать чему-либо в вашем документе, в зависимости от того, что это такое.

Для чего-то подобного инструменты Firebug или разработчика и точка останова в итерации должны быстро отсортировать вас.

0 голосов
/ 02 февраля 2012

Ваша проблема заключается в:

var recentposttitle = $('#catblogoutput h2.post-title').text();

Я не думаю, что это то, что вы хотите.Согласно документации jquery, функция .text () определена следующим образом:

Описание: Получить объединенное текстовое содержимое каждого элемента в наборе соответствующих элементов, , включая их потомков.*

Это должно указать вам на ваш ответ

...