|   |   | 
| 
 | Как получить значение ID дерево | ☑ | ||
|---|---|---|---|---|
| 0
    
        antihacker 07.10.17✎ 17:09 | 
        Всем привет ! 
 Вот работающий код <head> <link rel="stylesheet" href="css/style.css"> </script><script src="http://code.jquery.com/jquery-1.7.2.min.js" type="text/javascript" > </script> <script type="text/javascript"> $( document ).ready( function( ) { $( '.tree li' ).each( function() { if( $( this ).children( 'ul' ).length > 0 ) { $( this ).addClass( 'parent' ); } }); $( '.tree li.parent > a' ).click( function( ) { alert($(this).attr('id')); $( this ).parent().toggleClass( 'active' ); $( this ).parent().children( 'ul' ).slideToggle( 'fast' ); }); $( '#all' ).click( function() { $( '.tree li' ).each( function() { $( this ).toggleClass( 'active' ); $( this ).children( 'ul' ).slideToggle( 'fast' ); }); }); }); </script> </head> <body> <div class="tree"> <button id="all">Toggle All</button> <ul> <li id = "1"><a>First Level</a> <ul> <li><a>Second Level</a></li> <li><a>Second Level</a></li> <li><a>Second Level</a></li> </ul> </li> <li id = "2"><a>First Level</a> <ul> <li><a>Second Level</a> <ul> <li><a>Third Level</a></li> <li><a>Third Level</a></li> <li><a>Third Level</a> </li> </ul> </li> <li><a>Second Level</a></li> </ul> </li> <li id = "3"><a>First Level</a> <ul> <li><a>Second Level</a></li> <li><a>Second Level</a></li> </ul> </li> </ul> </div> </div> </body> </html> Как получить значение ID выбранного элемента | |||
| 1
    
        antihacker 07.10.17✎ 18:00 | 
        Пробовал такой вариант
 <html lang="en"> <head> <meta charset="utf-8"> <title>event.target demo</title> </script><script src="http://code.jquery.com/jquery-1.7.2.min.js" type="text/javascript" > </script> </head> <body> <ul ID="1"> <li ID="2">item 1 <ul ID="3"> <li ID="4">sub item 1-a</li> <li ID="5">sub item 1-b</li> </ul> </li> <li ID="6">item 2 <ul ID="7"> <li ID="8">sub item 2-a</li> <li ID="9">sub item 2-b</li> <li ID="10">sub item 2-b11</li> <li ID="11">sub item 2-b22</li> </ul> </li> </ul> <script type="text/javascript"> function handler( event ) { var target = $( event.target ); alert(event.target.id); if ( target.is( "li" ) ) { target.children().toggle(); } } $( "ul" ).click( handler ).find( "ul" ).hide(); </script> </body> </html> Все работает на ура. Но почему alert(event.target.id); выполняеться 2 раза при клике ? | |||
| 2
    
        asady 08.10.17✎ 21:03 | 
        ну а как ты хотел
 для каждого тега ul клик и срабатывает поскольку они у тебя вложенные - получаешь закономерный результат | |||
| 3
    
        Юрий Лазаренко 08.10.17✎ 21:48 | 
        (1) Запрети всплывание событий     | |||
| 4
    
        Юрий Лазаренко 08.10.17✎ 21:49 | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |