2017-05-11 14 views
0

Ich habe mehrere Variablen in meinem Code:jquery anhängen Variable, wenn Variable nicht leer ist

var  titre = bloc_movie_parent.attr("titre"), 
    director = bloc_movie_parent.attr("director"), 
    prod = bloc_movie_parent.attr("prod"), 
    agency = bloc_movie_parent.attr("agency"); 

diese Variablen Ich baue ein div eine für jede Funktion verwenden, und in diesem div habe ich Spannweiten das sollte zeige aber nur wenn die Variable existiert.

hier ist mein Code:

 $(".bloc_movie[type='"+ type + "']").each(function(){ 

      var titre = $(this).attr("titre"), 
      director = $(this).attr("director"), 
      prod = $(this).attr("prod"), 
      agency = $(this).attr("agency"), 
      hash = $(this).children('a').attr("href"); 

      $(".caption_slideshow").append('<div class="bloc_movie"><div class="legende"><div class="titre_caption">'+ titre +'</div><div><span class="initial_director">D/ </span>'+ director +'</div><div><span class="initial_prod">P/ </span>'+ prod +'</div><div><span class="initial_agency">A/ </span>'+ agency +'</div></div></div>');}); 

es funktioniert gut.

aber manchmal ist meine Variable leer. Und wenn die Variable leer ist, möchte ich, dass der Bereich ausgeblendet wird. zum Beispiel, wenn "Direktor" leer ist, möchte ich die "Initial_director" span ausgeblendet werden. Gleiches für "prod" mit "initial_prod" span & "Agentur" mit "initial_agency".

Ich finde keine Möglichkeit, es innerhalb der Append-Funktion zu tun.

kann mir jemand dabei helfen?

+0

Welche Variable meinen Sie, wenn "meine Variable leer ist"? und welche span willst du verstecken erklären bitte –

+0

was ist mit Anhängen sie eins nach dem anderen, so dass Sie sie einzeln vor jedem append – Matt

+0

@FadiAboMsalam zum Beispiel, wenn "Direktor" leer ist, möchte ich die "initial_director" span versteckt werden . Gleiches für "prod" mit "initial_prod" span & "agentur" mit "initial_agency". – mmdwc

Antwort

1

erste CSS-Klasse definieren genannt .display-none{ display:none;} dann die Hauptidee ist

if(!director){$('.initial_director').addClass("display-none")} 

einen Weg, es wie diese fügen immer eine Klasse von Anzeige keiner tun mit dem Wert von Ihnen verkettet Variable wie diese „Display- none "+ director hier haben wir zwei Fälle, die erste ist leer, dann ist das Ergebnis display-none, die Ihr div der zweite Fall wird einen Wert, so dass das Ergebnis wäre display-nonevalue, die keine Stile hinzufügen

<div><span class="initial_prod display-none"+prod+"\"">P/ </span>'+ prod +'</div> 
+0

gebaut, es funktioniert nicht, da es nicht für jede Funktion meine Schleife. Wenn einer meiner Agentur var leer ist, dann bekommen alle Bereiche die "disply-none" Klasse – mmdwc

+0

@mmdwc überprüfe die letzte Aktualisierung und sage, ob das funktioniert –

+0

nice trick! Ich musste den Code ein wenig anpassen, aber es funktioniert jetzt wie ein Zauber! Vielen Dank – mmdwc

Verwandte Themen