У меня есть случай, когда мне нужно переключить видимость элемента в зависимости от того, выполняется ли конкретная операция (категоризация), если это так, она скрыта, иначе она видна.
Теперь у меня есть css, которыйвыглядит следующим образом:
.isCategorizing .category.all {
display:none;
}
т.е. это означает, что этот div с классом (ами) .category.all
должен быть скрыт, если его родительский (ые) класс .isCategorizing
Теперьв jquery, если я переключаю видимость элемента .category.all
, в HTML добавляется встроенный стиль, который имеет приоритет над CSS в файле .css !!Таким образом, даже если вышеупомянутое верно, значение видимости из встроенного стиля, кажется, имеет приоритет, и элемент НЕ скрыт.Будучи видимым, jquery добавляет style=display:list-item;
к div, тогда как мой CSS должен сделать его скрытым ...
Я мог бы обработать это в чистом jQuery, но слишком много состояний и проверок, чтобы убедиться, что он должен работать втаким образом, а также поддерживать логический флаг, чтобы «помнить», существовало ли это состояние и возвращаться ли когда-либо в это состояние.Подход CSS проще и намного чище, но встроенный стиль раздражает ...
... как лучше с этим бороться?Я попытался создать другой класс .hide
и переключил это с помощью jquery.Кажется, работает, но по какой-то причине портит положение моего элемента.Я играю с этим, но не могу найти чистого решения этой проблемы.Любой совет ??
Обновление :
Вот соответствующий CSS:
.category{
position:relative;
padding:1px;
margin:2px 0 5px 0;
clear:both;
font-family:arial, sans-serif;
font-size: 14px;
display:inline-block;
width:inherit;
}
.category.all {
display:none;
width:200px;
text-align: center;
padding:3px;
border:2px solid transparent;
border-radius: 4px;
background-color: #DDDFE3;
}
ПРИМЕЧАНИЕ: Простой toggleClassв этом случае не работает - переключение «все» сделает кнопку видимой, даже если она не должна быть.Во-вторых, я унаследовал несколько реквизитов от класса .category
, так как эта кнопка отображается в конце «списка категорий», и я хотел предотвратить дублирование.
Если я иду с toggleClass ипросто продублируйте реквизиты, это может сработать, если подумать ... Дай мне попробовать и выложить обновление