JQuery и скрытие: после /: перед псевдоклассами

Возможный дубликат:jQuery и псевдоклассы

Я попытался скрыть: после псевдо класса через jQuery несколькими способами, но без успеха, я нашел другое решение, добавив в мой div пустой пул div, который содержит: после содержимого, а затем скрывает div так что он дает тот же эффект.

Однако мне было просто любопытно, сумел ли кто-нибудь найти способ скрыть: после или: перед материалом. Вот что я пробовал, чтобы это не сработало.

$('.search_box:after').hide();
$('.search_box:after').css('display', 'none');

Просто, чтобы дать вам контекст, у меня есть div, который содержит форму поиска и т.д., и когда поиск активен, я хочу включить индикатор маленькой стрелки под указателем div, похожим на список найденных элементов (построенный с помощью: после CSS), и когда ничего не найдено, или по умолчанию используется полный список (поскольку ничего не найдено), я хочу скрыть его.

3 ответа

Вы не можете этого сделать. Лучше всего использовать класс в элементе для переключения отображения псевдоэлемента.

Живой пример - http://jsfiddle.net/4nbnh/


Вы можете динамически добавлять блок '; document.head.insertAdjacentHTML( 'beforeEnd', css ); }; } );

HTML:

<div id="hello">hello</div>​

CSS

#hello::after {
 content: "goodbye"; 
}​


ThinkingStiff имеет неплохую идею.

Вы также можете добавить и удалить класс для своего окна поиска и использовать только тег after.

Что-то вроде .hide:after { display:none } и .show:after { /* normal css */ }. Затем просто замените эти классы на javascript.

изменить: смешать имена

licensed under cc by-sa 3.0 with attribution.