Пройдя 9 уровней вверх в jQuery - PullRequest
2 голосов
/ 21 февраля 2009

Событие click происходит в теге href, и мне нужно сослаться на класс, который на 9 уровней выше,

так:

<div class="blah" id="234">
 <div>
     <div>
        <div>
          <div>
            <div>
             <div><a href=""></a>

Единственный способ, которым я знаю, - это вызвать parent () 9 раз, что еще я могу сделать?

Ответы [ 2 ]

7 голосов
/ 21 февраля 2009

Вы можете поставить селектор через функцию родителей

$(a).click(function() {
   var theIdIs = $(this).parents("div.blah").attr("id");
});
4 голосов
/ 21 февраля 2009

Также, если вы используете jQuery 1.3+, вы можете использовать ближайший метод

$('a').click(function() {
   if ($(this).closest("div.blah").hasClass("blah"))
   {
      // Do something with it
   }
});
...