Как заменить строку в зависимости от родительского идентификатора? - PullRequest
0 голосов
/ 01 июля 2019

Я тестирую кучу контента и вместо того, чтобы иметь дело с несколькими страницами, я просто загружаю каждый элемент с помощью PHP с одной страницы индекса.Каждая «страница» имеет раздел кода со строкой хлебных крошек.Я пытаюсь использовать JavaScript для нацеливания на «текущую» строку местоположения и заменить ее идентификатором его родителя, чтобы показать текущее местоположение.

Вот что я уже пробовал: JSfiddle

$('.show #filter.menu').each(function() {

  var parID = $(this).parent().attr('id');
  var parCL = $(this).parent().attr('class');

  if (parCL.search('show'))
    $('.menu .breadcrumbs .current').text($(this).text().replace('Here', parID));

});

В идеале я хочу, чтобы «Здесь» было заменено содержимым идентификатора родителя хлебной крошки.Такие как: Главная |Архивы или Главная |Люди .

Но вместо этого я получаю Домой |Домашний архив .

Я не уверен, что происходит не так.

Спасибо

1 Ответ

1 голос
/ 01 июля 2019

Проблема заключается в этой строке:

$('.menu .breadcrumbs .current').text($(this).text().replace('Here', parID));

В этом контексте $(this) относится к текущему элементу цикла из первой строки.Таким образом, $(this).text() возвращает «Home Here», потому что оба слова имеют одинаковую ширину раздела с идентификатором «filter».Затем ваш код заменяет ширину «Здесь» на родительский идентификатор.В результате получается «Домашние архивы».

Таким образом, вместо замены «Здесь» вы можете просто установить текст .current на родительский идентификатор:

$('.menu .breadcrumbs .current').text(parID);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...