2008-11-27 6 views
0

que je veux faire, mais ne l'avez pas encore tout à fait ...facile jQuery Question - Selecing un div avec la même classe que l'une

$(document).ready(function() { 
     $("a.whateverclass").click(function() { 
      $("div.whateverclass").show(); 
      return false; 
     }); 

Fondamentalement, quand un lien avec une certaine classe est cliqué tous les divs avec cette classe sont affichés. Les classes peuvent être n'importe quelle classe. Et je ne connaîtrai pas le (s) nom (s) des classes dans le fichier application.js, donc j'ai besoin de faire correspondre des classes égales.

Répondre

4

J'aime @ la réponse de Eran, mais dans l'événement que vous avez des liens qui ne correspondent pas à appliquer ce modèle, vous pouvez vous assurer que vous seulement cela aux liens qui le font.

$('a[class]').click(function() { 
    $('div.' + $(this).attr('class')).show(); 
    return false; 
}); 

Et dans le cas où des liens peuvent avoir d'autres classes qui leur sont appliquées, vous pouvez utiliser un schéma de nommage tels que:

$('a[class^=div-]').click(function() { 
    $('div.' + $(this).attr('class')).show(); 
    return false; 
}); 
<div class='div-mydiv'></div> 
<a href='javascript:void(0);' class='div-mydiv'>Show</a> 

<a href='mailto:[email protected]' class='mail-link'>Contact Us</a> 
+0

En outre, prendre en considération que DIV et un de peut-être plus qu'une classe appliquée. – strager

+0

@strager - J'ai pensé à ça aussi. Tant que l'étiquette d'ancrage n'a qu'une seule classe, vous devriez être ok. Il sélectionnera toujours la div correctement. – tvanfosson

1
$("a").click(function() { 
     $("div." + $(this).attr('class')).show(); 
}); 
Questions connexes