.toggleClass не работает с теми, что внутри nest?

#jquery #nested

#jquery #вложенный

Вопрос:

Я использую $ ().toggleClass(); для отображения и скрытия инвентаря, но я замечаю, что к этим функциям внутри гнезда контейнера вообще не применяется его свойство.

например, HTML

    <div id="container">

      <div id="inventory" class="hidden">

        <p>Hello There</p>

      </div>

   </div>
  

а затем Jquery / Javascript

 else if (button == 'Inventory') {
    
    inventoryWipe();
    lookinventory();
    $("#container").toggleClass("hidden");
    $("#inventory").toggleClass("hidden");

  }
  

Есть кнопка, вы нажимаете на нее, она скрывает контейнер, но инвентарь по-прежнему скрыт, по правилу toggleClass он должен инвертировать их оба, поэтому вместо контейнера будет отображаться инвентарь. Я предполагаю, что, поскольку инвентарь вложен внутри контейнера, он больше не работает.

Дополнительный вопрос, я использую $("something").insertBefore("#inventory"); , но для этого он не работает, поскольку добавляет элемент перед элементом инвентаря, а не помещает его внутрь инвентаря, как мне это сделать?

Комментарии:

1. Когда элемент скрыт, все, что находится внутри него, также скрыто.

2. добавить() или prepend() для вставки внутреннего элемента. Все методы вставки легко найти в документах jQuery api

3. Хорошо, спасибо вам двоим, тогда мне придется создать отдельный контейнер и поместить в него содержимое. и спасибо вам за тот, который позволит мне вставить внутри него. Я мог бы поклясться, что пробую эти два, но в итоге получаю тот же результат, что и insertBefore () и insertAfter ().