Скрыть div на основе определенного URL страницы

0
<script>
function myFunction() {
if (/menu/.test(window.location.href)) {
    document.getElementById('searchfield').display = 'none';
 }
}
</script>

Я хотел бы сделать это с помощью JavaScript или JQuery - пока мои попытки не работают. У меня есть div, который должен присутствовать на всех страницах, кроме 1 страницы; в котором я хотел бы скрыть его с помощью JavaScript, если эта страница.

Примечание. Это веб-сайт Wordpress; выше было вставлено в заголовок header.php документа. То же расположение повторяющегося div.

  • 2
    Вы звоните myFunction на каждой странице?
  • 1
    document.getElementById('searchfield').style.display Вы пропустили .style
Показать ещё 2 комментария
Теги:

2 ответа

0
Лучший ответ

myFunction никогда не вызывается. Вам нужно будет явно вызвать его, когда страница будет готова $(myFunction); , или, если хотите, вызовите его в нижнем колонтитуле (или рядом с ним) непосредственно с помощью myFunction(); ,

Альтернативой, поскольку это сайт WordPress, является добавление PHP-кода, чтобы не показывать этот div (или даже отправлять его клиенту!) На основе фильтра.

Другой альтернативой является использование CSS для блокировки этого конкретного div на загружаемой странице.

1

Это проще с CSS.

HTML (убедитесь, что все ваши страницы имеют уникальный идентификатор, обычно на теге body):

<body id="page-1">

    <div id="menu">

    [ ... ]

CSS

#page-1 #menu{
    display:none;
}

редактировать

Я вижу, что вы работаете в WordPress. WP автоматически добавляет уникальные классы в тег body. Как правило, вы можете использовать что-то вроде этого для своего CSS:

.page.page-id-34{
    /*
        34 should be swapped with the page id.
        You can customize the classes,
        so just Inspect Element and see what it is for your page
     */
    display:none;
}
  • 0
    CSS всегда должен быть первым выбором!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню