Member 13153537 Ответов: 1

Как скрыть дочерний элемент дочерние элементы в jquery


у меня есть меню, заполняющееся из таблицы mysql и php до некоторых вложенных подуровней.
мое меню Вот такое
Один
Б
С

если нажать на него в первый раз, то он показывает все дочерние элементы и againg я нажимаю дочерние элементы а он показывает дочерние элементы также нормально.
но проблема в том, что когда я нажимаю на B после открытия всех уровней элементов A
он прекрасно показывает субэлементы B.Но опять же, если я нажму на него, показывая все элементы, кроме дочерних дочерних элементов также.я использовал jquery для этого.я новичок в jquery, пожалуйста, кто-нибудь может помочь мне заранее спасибо.

Что я уже пробовал:

<ul>
<li class="limain">A
<ul>
<li class="lichild">A1
<ul>
<li class="lichild">a2</li><li class="lichild">a1
<ul>
<li class="lichild"><a href="vuv">aaaaaa</a></li><li class="lichild"><a href="xyz">abbbbbb</a></li></ul>
</li></ul>
</li><li class="lichild">A2</li><li class="lichild">A3</li><li class="lichild">A4</li><li class="lichild"><a href="home">A5</a></li></ul>
<li class="limain">B
<ul>
<li class="lichild">B1</li><li class="lichild"><a href="about">B2</a></li></ul>
</li><li class="limain">C
<ul>
<li class="lichild">C1</li><li class="lichild">C2</li><li class="lichild">C3</li><li class="lichild">A6
<ul>
<li class="lichild">A8
<ul>
<li class="lichild">A10
<ul>
<li class="lichild"><a href="abc">A13</a>
</li><li class="lichild"><a href="fgh">A14</a>
</li></ul>
</li><li class="lichild"><a href="cde">A11</a>
</li></ul>
</li><li class="lichild"><a href="abcd">A9</a>
</li></ul>
</li><li class="lichild"><a href="nop">A7</a>
</li></ul>
</li><li class="limain">D
<ul>
<li class="lichild">D1</li>
<li class="lichild"><a href="klm">D2</a>
</li>
</ul>
</li>
</ul>


$(document).ready(function(){
  $(".lichild").parent().hide();

  $(".limain").click(function(){
    $(this).children('ul').show();
    $(this).siblings(".limain").children('ul').hide();
  });
  $(".lichild").click(function(){
    $(this).children('ul').show();
    $(this).siblings().children('ul').hide()
  });
});

Karthik_Mahalingam

можете ли вы разместить в jsfiddle и поделиться ссылкой, Это поможет нам понять проблему.

Member 13153537

как разместить файлы на самом деле я генерирую html скрипт из таблицы mysql с помощью php возможно ли разместить php файлы также там

Karthik_Mahalingam

вы разместили только код jquery, вам нужна пометка, чтобы увидеть, как он выглядит

Member 13153537

хорошо, я отправляю код.пожалуйста, проверьте заранее спасибо.

Member 13153537

братан, я опубликовал свой html-код, пожалуйста, проверьте один раз.

Karthik_Mahalingam

запутанным.
Но опять же если я нажму кнопку а она покажет все элементы кроме дочерних дочерних элементов также

Member 13153537

когда документ загружается он работает нормально но когда вы открываете все дочерние элементы A и переходите к B а затем возвращаетесь он также покажет все ранее открытые дочерние элементы
проверить было некогда.пожалуйста

Karthik_Mahalingam

Итак, вы хотите вернуться в исходное состояние? ( разворачивайте только верхние дочерние элементы, а не нижние дочерние элементы )
правильно?

Member 13153537

Да, братан, я хочу только этого.пожалуйста, помоги мне.заранее спасибо

Member 13153537

у меня есть этот код в html-файле. я поделюсь с тобой .если вы не возражаете, вы можете дать УР mailid пожалуйста.

Member 13153537

Да, братан, я так хочу, пожалуйста, помоги мне, заранее спасибо.

Karthik_Mahalingam

о'кей, я понял проблему.

1 Ответов

Рейтинг:
4

Karthik_Mahalingam

пробовать

$(document).ready(function () {
           $(".lichild").parent().hide();
           $(".limain").click(function () {
               $(this).children('ul').show();
               $(this).siblings().find('ul').hide();
           });
           $(".lichild").click(function () {
               $(this).children('ul').show();
               $(this).siblings().children('ul').hide()

           });
       });


Member 13153537

спасибо, братан, все работает нормально.

Karthik_Mahalingam

добро пожаловать