JQuery два разных триггера с тем же классом - PullRequest
2 голосов
/ 23 января 2011

У меня есть два тега, которые имеют один и тот же класс, но разные события триггера. Вот пример:

<a class="remove">remove this</a>
<div class="status"><a class="remove">Remove this status div only</a></div>

in jquery i have it like
$(".remove").live('click', function()... (this gets trigger for both)
$(".status_update > .remove").live('click', function()...  (i want this to trigger for status div remove link)

Мне нужно сделать это в двух разных триггерах.*

Ответы [ 2 ]

1 голос
/ 23 января 2011

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

$(".remove").live('click', function() {
  if ($(this).parent().hasClass('status_update')) // execute inner links code
  else // execute outer links code
});
1 голос
/ 23 января 2011

Вы можете проверить, является ли имя класса родительского объекта для привязанного якоря .status и действовать соответствующим образом, используя .unwrap или .remove:

$("a.remove").live('click', function() {
   if($(this).parent().hasClass("status")) { // or $(this).parent('.status').length
       $(this).unwrap("div.status");
   } else {
       $(this).remove();
   }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...