<script>
function myFunction() {
if (/menu/.test(window.location.href)) {
document.getElementById('searchfield').display = 'none';
}
}
</script>
Я хотел бы сделать это с помощью JavaScript или JQuery - пока мои попытки не работают. У меня есть div, который должен присутствовать на всех страницах, кроме 1 страницы; в котором я хотел бы скрыть его с помощью JavaScript, если эта страница.
Примечание. Это веб-сайт Wordpress; выше было вставлено в заголовок header.php документа. То же расположение повторяющегося div.
myFunction
никогда не вызывается. Вам нужно будет явно вызвать его, когда страница будет готова $(myFunction);
, или, если хотите, вызовите его в нижнем колонтитуле (или рядом с ним) непосредственно с помощью myFunction();
,
Альтернативой, поскольку это сайт WordPress, является добавление PHP-кода, чтобы не показывать этот div (или даже отправлять его клиенту!) На основе фильтра.
Другой альтернативой является использование CSS для блокировки этого конкретного div на загружаемой странице.
Это проще с 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;
}
myFunction
на каждой странице?document.getElementById('searchfield').style.display
Вы пропустили.style