получить ссылку на предыдущий селектор объекта span - PullRequest
0 голосов
/ 05 октября 2010

У меня есть следующий HTML:

<span class="addEventHidden"><img src="/Content/Images/add.gif"></span>
 <br>
 <div class="event">My Event</div>
 <div  class="event">My Event 2</div>
 <div  class="event">My Event 3</div>
 <div  class="event">My Event 4</div>

После этого у меня появляется следующий обработчик события, когда я нажимаю на любое «событие» div:

$('.event').live('click', function () {

Теперь я хочу получить ссылку на объект с помощью class = "addEventHidden" из этого обработчика события. я попробовал это:

  var previousAddEvent = $(this).prev(".addEventHidden");

но это не сработало. Есть предложения?

Ответы [ 2 ]

4 голосов
/ 05 октября 2010

Используйте .prevAll() и :first, например:

var previousAddEvent = $(this).prevAll(".addEventHidden:first");

.prev("selector") немедленно получает предыдущий брат , если соответствует селектору, он не выглядит , пока не найдет матч. .prevAll() получит всех предыдущих братьев и сестер в ожидаемом порядке (в обратном порядке), поэтому мы просто хотим, чтобы первый встреченный брат соответствовал нашему селектору.

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

Не зная ничего о вашем HTML, я собираюсь предположить, что вы упаковали этот и другие подобные объекты соответствующим образом. Если у вас есть, один ответ

var previousAddEvent = $('.addEventHidden', $(this).parent());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...