Выбор предыдущего элемента с помощью jQuery - PullRequest
1 голос
/ 25 февраля 2010

Эй, ребята, это просто, но я не могу заставить это работать ... бла!

У меня есть UL со многими LI. Внутри каждого LI у меня есть и два:

<ul>    
  <li><span>Qualification</span> - <a class="editItem" href="get/14">edit</a> | <a class="deleteItem" href="delete/14">delete</a></li>
</ul>

Когда я нажимаю якорь удаления, я хотел бы скрыть LI. Как я могу выбрать LI?

Я пробовал что-то вроде этого:

$(".deleteItem").click(function(e) {
     $(this).parent().find("li").hide();
     // or
     $(this).prev().prev().prev().hide();

});

Но это не работает вообще. :( Что я делаю не так? Спасибо ..

Ответы [ 5 ]

5 голосов
/ 25 февраля 2010

Чтобы получить LI:

$(".deleteItem").click(function(e) {
  $(this).closest("li").hide();
});

.prev() относится к братьям и сестрам, в этом случае <li> является родительским для ссылки, .closest() получает ближайший родительский элемент, соответствующий селектору.

3 голосов
/ 25 февраля 2010

li - родитель якоря, по которому вы щелкаете, поэтому вы можете сделать это:

$(".deleteItem").click(function(e) {
    e.preventDefault();
     $(this).parent().hide();

});
2 голосов
/ 25 февраля 2010
$(".deleteItem").click(function(e) {
    $(this).closest('li').hide();
});

Попробуйте это.

1 голос
/ 25 февраля 2010

Похоже, вам также необходимо выполнить запрос на удаление самой записи из базы данных. Поэтому вместо того, чтобы фокусироваться на просто , скрывающем li, вы не должны пренебрегать первоначальным назначением вашей ссылки:

$(".deleteItem").click(function(e){
  // prevent page-change
  e.preventDefault();
  // ask server to delete this record
  $.post($(this).attr("href"), function(result){
    // remove this record upon server-response
    $(e.target).closest("li").slideUp().remove();
  });
});
1 голос
/ 25 февраля 2010

должно быть просто:

$ (это) .parent () скрыть ();.

LI является родителем элемента A. Другие братья и сестры. Prev используется, чтобы найти предыдущего брата, поэтому он не даст вам родителя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...