2010-09-07 4 views
1

Я следующий разметкеКак создать карту сайта с помощью JQuery

<div id="mnuMain"> 
    <ul> 
     <li><a href="#">Dashboard</a></li> 
     <li><a href="#">Market Trends</a></li> 
     <li><a href="#">Master</a> 
      <ul> 
       <li><a href="#">Products</a></li> 
       <li><a href="#">Segments</a></li> 
       <li><a href="#" >Companies</a></li> 
      </ul> 
     </li> 
     <li><a href="#">Settings</a> 
      <ul> 
       <li><a href="#">Dashboard Settings</a></li> 
      </ul> 
     </li> 
    </ul> 
    <br style="clear: left" /> 
</div> 

<div id="divNavigation" style="height:20px;width:100%; 
background:gray;color:white">   
</div> 

Мой вопрос

Как отслеживать родителей вверх, когда я нажимаю на конкретном<a> так, что divNavigation будет содержать Предположим теперь я нажмите «Сегменты» divNavigation должен иметь Master > Segments со ссылками.

ответ

2

ринулись коды

$(function() { 
    $('#mnuMain ul li a').click(function() { 

     var $li = $(this).parents('li'); 
     var container = $('#divNavigation').empty(); 

     $li.each(function(i) { 
      if (i > 0) { 
       $('<span>&gt;</span>').prependTo(container); 
      } 
      $(this).children('a:first').clone().prependTo(container); 
     }); 

     return false; 
    }); 
});​ 

demo

+0

Большое спасибо .... а что если я нажимаю на ссылку в этом карта сайта .. будет ли он обновляться в соответствии с иерархией? –

+0

Я сделал это ... еще раз спасибо ... –

1

$("#mya").parent() для доступа к непосредственному родительскому объекту. Используйте parent() для доступа ко всем предкам. Это если у вас есть идентификатор. Если нет, то вам может понадобиться что-то вроде этого:

$("a").each(var parent = $(this).parent(); <use parent to do stuff>); 
Смежные вопросы