Показать скрытый элемент внутри другого элемента при нажатии - PullRequest
0 голосов
/ 03 марта 2012

Последующие действия: Как получить дочерние элементы селектора $ (this)?

у меня как-то не работает.

http://jsfiddle.net/teKwN/1/

HTML

  <h4>
    Sometext
    <h3>
      Another text
    </h3>
  </h4>

CSS

h3 {
    display: none;
}

JS

$('h4').live('click', function() {
    $(this).children('h3').toggle('slide');
});

EDIT: Есть несколько предметов, таких как h4. http://jsfiddle.net/teKwN/4/

Пожалуйста, помогите. Спасибо.

Ответы [ 4 ]

3 голосов
/ 03 марта 2012

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

<h4>
    Sometext
</h4>
<h3>
    Another text
</h3>

Из-за этого у вашего h4 нет дочерних элементов, поэтому $(this).children('h3') не возвращает элементов.

Вы либонужно изменить это h3 на что-то другое или изменить структуру и код, чтобы отразить это изменение.

http://jsfiddle.net/teKwN/3/

0 голосов
/ 03 марта 2012

попробуйте

$('h3').toggle('slide');

вместо

$(this).children('h3').toggle('slide');
0 голосов
/ 03 марта 2012

Проверить это работает нормально

 $('h4').live('click', function() {
        $('h3').toggle('slow');
    });
0 голосов
/ 03 марта 2012

Не уверен, в чем именно проблема, но вложенные заголовки, вероятно, не очень хорошая идея. Реорганизация вашего HTML с заголовками в виде элементов одного уровня в элементе контейнера, кажется, исправляет это: http://jsfiddle.net/rjzaworski/sJe3g/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...