JQuery: родитель или брат? И как «проинструктировать» сестринского поиска? - PullRequest
0 голосов
/ 19 октября 2010

У меня есть список, который выглядит так:

<li class = "current_parent level-0">
  <a> Parent Link </a>
  <ul class= "children">
     <li class = "level-1">
           <a> Link to child </a>
     </li>

     <li class = "level-1 current_page_item">
          <a> Link to child </a>
     </li>

     <li class = "level-1">
           <a> Link to child </a>
     </li>

     </ul>
</li>

По сути, я хочу получить HREF элемента на один уровень ВВЕРХ и на один уровень ВНИЗ от current_page_item.Вы можете легко получить URL-адрес current_page_item> с помощью .attr (), т.е. $ ('. current_page_item'). attr ("href") ;.

Но как я могу сказать jQuery посмотреть на один уровень выше?.parent () не кажется правильным, потому что они не родители, они братья и сестры, верно?

Но как я могу сказать братьям и сестрам двигаться вверх или вниз по списку?

В основном я хочу $ ('. Current_page_item> ONE LI> A UP'). Attr ("href");и $ ('. current_page_item> ONE LI> A DOWN'). attr ("href") ;.

Еще раз, спасибо за помощь в моем jQuery n00bquest!

Ответы [ 2 ]

3 голосов
/ 19 октября 2010

Если вы начинаете с <li>, используйте .next() и .prev(), чтобы получить следующих / предыдущих братьев и сестер, например:

var prevHref = $(".current_page_item").prev().find("a").attr("href");
var nextHref = $(".current_page_item").next().find("a").attr("href");

Вы можете найти полные функции для перемещения, как это, а также их описания в разделе Обход дерева в jQuery API .

0 голосов
/ 19 октября 2010

используйте .prev () вместо .parent () (.prev () и .next () оба относятся к братьям и сестрам)

...