it-swarm.com.de

Ruft die Klasse des übergeordneten Elements ab

Ich habe das folgende HTML-Markup:

<div class="nav">
   <ul>
      <li class="tab1">
         <a href="#1" class="current">Welcome</a>
      </li>
      <li class="tab2">
         <a href="#2">About</a>
      </li>
      <!-- and some lists more -->
   </ul>
</div>

und ich möchte das class des Elternelements des Kindes mit .current finden:

var currentli = $('.nav').find('a.current').parent().attr('class');
console.log(currentli);

aber es wirft mich immer undefined

HINWEIS: Ich weiß nicht, welches a derzeit .current Hat, weshalb ich die .find() -Methode verwenden muss.

17
supersize

Ihr Code sollte bereits funktionieren, aber es ist möglicherweise zuverlässiger, stattdessen auf die Eigenschaft className zuzugreifen:

var currentli = $('.nav').find('a.current').parent().prop('className');
37
Ja͢ck

Das wird funktionieren:

var currentli = $($('.nav').find('a.current')).parent().attr('class');
console.log(currentli);

Ich transformiere einfach die gefundene Sammlung wieder in ein jQuery-Objekt.

Siehe fiddle: http://jsfiddle.net/RaphaelDDL/wnW4u/

Ps .: Wenn mehr als ein aclass="current" Hat, wird nur der erste abgerufen.

1
RaphaelDDL