2010-01-15 4 views
2

J'ai une fonction javascript déclenchée pour cacher "dd" qui ont le même nom de classe. Mais le problème est, parfois, seul le dt est laissé seul. Par exemple, le premier bloc dt dd, quand j'ai caché les 3 dd. le dt (aujourd'hui) est toujours là. Je veux cacher le dt aussi quand aucun dd n'est associé. Comment puis je faire ça?Comment cacher le "dt" quand "dd" s sont cachés

<dl> 
    <dt>Today</dt> 
    <dd class="Admissions3">14:59 > Admission: Transfer, B3FOL, Metroplex Hospital</dd> 
    <dd class="Admissions3">12:00 > IM: Review by Me, Wound healing well. Could need further follow-up...</dd> 
    <dd class="Admissions3" style="color: Black">09:42 > LAB: WOUND CULTURE, Staph aureus (Pending)</dd> <dt>Yesterday</dt> 

    <dd class="Laboratory3">16:40 > LAB: UMCS, Blood, Enterococcus sp. Light growth of (Pending)</dd> 
    <dd class="Surgery3">10:35 > SUR: Right Total Hip Replacement</dd> <dt>Two days ago</dt> 

    <dd class="Admissions3">16:25 > ADT: Transfer, ICU, Metroplex Hospital</dd> 
    <dd class="Laboratory3">13:15 > LAB: UMCS, Swab, No growth</dd> 
    <dd class="Admissions3">13:10 > ADT: Admit EXC HUTCHINSONS MELANOTIC FRECKLE</dd> <dt>Four days ago</dt> 

    <dd class="CentralLine3">14:24 > RM: Parking Incident</dd> 
    <dd class="CentralLine3">14:05 > RX: Doxycycline 4g Daily</dd> 
    <dd class="Admissions3">13:20 > ADT: Podiatry</dd> <dt>9/7/09</dt> 

    <dd class="Laboratory3">15:32 > LAB: UMCS, Blood, No growth</dd> 
    <dd class="Pharmacy3">10:18 > IM: Isolation Precautions - High</dd> <dt>3/5/09</dt> 

    <dd class="Surgery3">11:45 > SUR: Left Total Hip Replacement</dd> 
    <dd class="Admissions3">09:20 > ADM: Transfer, B3ROD, Real World Hospital</dd> 
    <dd class="Admissions3">09:17 > ADM: Total Hip Replacement, Real World Hospital</dd> 
</dl> 
+0

Que diriez-vous d'ajouter dans le code que vous avez déjà. –

+0

Est-ce que la question précédente, http://stackoverflow.com/questions/1957675/delete-dt-without-dd-with-jquery, aide? [1]: http://stackoverflow.com/questions/1957675/delete-dt-without-dd-with-jquery – Ajw

+0

Bienvenue dans StackOverflow! – gnarf

Répondre

0

Ce petit segment de code pourrait vous aider.

var $dl = $('dl'); // hook this up to your DL 

$dl.find('dt').each(function() { 
    var $dt = $(this), $next = $dt.nextAll(':visible').slice(0,1); 

    // if the next visible item is also a dt, or there isn't a next visible item 
    if ($next.is('dt') || $next.length == 0) 
    { 
    $dt.hide(); 
    } else { 
    $dt.show(); 
    } 
});  
2

Je pense qu'il devrait y avoir un meilleur moyen, mais qu'en est-il de cela?

$('.Admissions3').hide(); 

$('dt').each(function() { 
    var $dt = $(this); 

    if (!$dt.next(':visible').is('dd')) 
    $dt.hide(); 
}); 

Vous pouvez le voir en action ici: http://jsbin.com/orolo3/edit

+0

Ne pas cacher la dernière '

' – gnarf

+0

Bon appel. Edité dans un correctif pour cela. –

Questions connexes