2010-10-26 2 views
3

Je tente de vider complètement une div, je l'ai rempli la charge avec PHP et une boucle foreach, ses programmes d'impression à partir d'une base de données, voici ce que la source ressemble lorsque la page est d'abord chargéeJQuery vide Fonction

<div class="frame" id="program_list">          
<div class="box"> 
    <div class="box-holder"> 
     <div class="box-frame"> 
      <h3>Marathon</h3>      <p>Run 26 miles around the city.</p>           <p>Trainer: John Doe</p> 
               <span class="btn-program"><a href="#" tabindex="10"><em>BID PROGRAM</em></a></span> 
              </div> 
             </div> 
            </div> 


            <div class="box"> 
             <div class="box-holder"> 
              <div class="box-frame"> 
               <h3>Jumping Jacks</h3> 
               <p>Do 400 Jumping Jacks in 15 minutes</p> 
               <p>Trainer: Jane Doe</p> 
               <span class="btn-program"><a href="#" tabindex="10"><em>BID PROGRAM</em></a></span> 
              </div> 
             </div> 
            </div> 

Et je suis en train de vider le program_list div avec une jquery fonction vide comme ceci:

 function clear_programs_div() 
    { 
     alert("Test"); 
     $("program_list").empty(); 
    } 

Mais il ne semble pas se débarrasser des années div. Cette fonction supprime-t-elle seulement le texte interne et non les éléments? Comment se fait-il qu'il ne supprime aucun des éléments à l'intérieur? Tout conseil aiderait merci!

Répondre

10

vous devez ajouter un # avant program_list

$("#program_list").empty() 
+0

+1 +1 +1 +1 +1 +1 +1 +1 –

+0

Oh, bon sang, je ne peux pas croire que j'ai raté ça, merci l'homme! –

+0

@Pete Herbert Penito, votre bienvenue, j'apprécierais si vous acceptez ma solution. – mikerobi

2

jQuery sélecteur id # a besoin avant id réel. Si vous souhaitez sélectionner des éléments par classe css, ajoutez-les. avant le nom de la classe.

$("#program_list").empty() 
2

Essayez ceci:

$("div#program_list").remove(); 

remove() supprimera le div avec id 'program_list' et tout contenu dans.

empty() supprimera le contenu dans le div mais pas l'élément div se

see jQuery documentation here

+0

merci pour la suggestion, mais je voulais garder la div, et juste enlever son contenu :) –

+0

Pas de problème - content que vous avez une solution qui fonctionne pour vous ... –

0

Dans jQuery si vous souhaitez accéder à un élément avec id vous devez utiliser #.

Par exemple: $("#program_list").empty() ou $("#program_list").delete()

Toutefois, si vous souhaitez accéder à un élément de classe vous devez utiliser .

Par exemple: $(".program_list").empty() ou $(".program_list").delete()

Avec $("#program_list").empty() serait vider complètement div