Мы обновляем нашу анкеты клиента, которая настроена так, чтобы они могли возвращать и обновлять или редактировать свои ответы. Основной HTML для каждого вопроса (пункт) ниже:Ориентация на css внешнего родителя с jQuery
<div class="item">
<span class="blue">The question ?</span>
<div class="answer">
Previous Answer <a href="" class="editlink">edit</a>
</div> <!-- end div answer -->
<div class="question">
<textarea name="item-name" class="w90">Previous Answer or empty</textarea>
</div> <!-- end div question -->
</div> <!-- end div item -->
При загрузке из базы данных, если есть предыдущий ответ, то ответ ДИВ покажет и вопрос DIV будет скрыт & заселен с предыдущим ответом , Если клиент нажимает ссылку на редактирование, тогда ответ div должен скрываться, а div div вопроса.
Если предыдущего ответа не было, тогда вопрос div отобразится, и пустой ответ div будет скрыт.
Мои мысли состоят в том, чтобы создать два класса предметов, .item-ответил & .item-not-ответил, чтобы отразить два состояния, которые могут быть ответом и вопросом. И затем используйте эти классы, когда страница сначала создается PHP.
Но я пытаюсь выяснить, как использовать автоматические материалы jQuery, чтобы нажимать на ссылку редактирования, чтобы изменить css внешнего родителя (помечен как «элемент» в моем html выше).
Это похоже на работу для непосредственного родителя, который был бы окружающий ДИВ (ответ), но я пытаюсь настроить таргетинг на следующий более высокий родитель, который является external div (item), чтобы я мог использовать оба div внутри. – Tom
ОК, я пробовал $ (this) .parent(). Parent(). AddClass .... и, похоже, это трюк ... но это лучший способ сделать это? – Tom
Вы можете использовать 'parents(). Eq()' (с ** s **, см. [Parent()] (http://api.jquery.com/parents/)), чтобы указать, какой элемент предка. Попробуйте '$ (this) .parents(). Eq (1) .addClass ('item-not-answer');' - дед. –