2017-11-23 40 views
0

Ich versuche es so zu machen, wenn der Benutzer auf den Buchstaben klickt, ändert er den Wettertyp und konvertiert die Temperatur. Zum Beispiel, wenn ich #weatherType klicke, will ich es in Fahrenheit ändern und wenn ich zurück zu celcius gehen will, werde ich einfach wieder auf den #weatherType klicken Aber wenn ich es anklicke, tut es nichts. Was mache ich falsch?Jquery Wie erhalten Sie die Zeichenfolge von einer ID in Ihrem HTML und vergleichen Sie es mit einer anderen Zeichenfolge?

bearbeiten: hier ist mein codepen https://codepen.io/angelbenoit/pen/RjJPyK

$('#weatherType').click(function() { 
       var check = $('#weatherType').text(); 
       if(check === "C"){ 
        $('#weatherType').html("F"); 
        $('#convertTemperature').html(fahrenheit); 
       } 
       else{ 
        $('#weatherType').html("C"); 
        $('#convertTemperature').html(celcius); 
       } 
      }); 
+3

Bearbeiten Sie Ihre Frage zu einem [mcve] bitte – j08691

+0

Was meinst du falsch? Sind "Fahrenheit" - und "Celcius" -Funktionen oder Variablen, die HTML-Code mit der zuvor verarbeiteten Berechnung zurückgeben oder enthalten? –

+0

Irgendwelche Fehler in der Konsole? Ist '$ ('# weatherType')' vorhanden, wenn Sie diesen Code ausführen? Das ist nur zwei Unbekannte für uns, ohne genug Code zu sehen, um Ihr Problem zu reproduzieren. – charlietfl

Antwort

0

Ich glaube, Sie dies wünschen.

<button id='weatherType'>C</button> 
<div id='convertTemperature'>celcius</div> 

Und

$("#weatherType").click(function() { 
    var check = $(this).text(); 
    if (check === "C") { 
    $(this).text("F"); 
    $("#convertTemperature").text("fahrenheit"); 
    } else { 
    $(this).text("C"); 
    $("#convertTemperature").text("celcius"); 
    } 
}); 

Siehe Live-Vorschau:https://codepen.io/ziruhel/pen/BmVNqJ

für Convert Fahrenheit in Celsius:

$("#weatherType").click(function() { 
     var check = $(this).text(); 
     if (tempUnit === check) { 
     $(this).text("F");    
     $("#convertTemperature").text(fahrenheit); 
     } else { 
     $(this).text("C");  
     $("#convertTemperature").text(celcius); 
     } 
    }); 

Hier die Vorschau:https://codepen.io/ziruhel/pen/JOZYJW

0

Sie müssen Ereignis erneut zu binden klicken Sie klicken

$('#weatherType').click(function() { 
    performConversion(); 
    }); 

function performConversion(){ 
var check = $('#weatherType').text(); 
       if(check === "C"){ 
        $('#weatherType').html("F"); 
        $('#convertTemperature').html(fahrenheit); 
       } 
       else{ 
        $('#weatherType').html("C"); 
        $('#convertTemperature').html(celcius); 
       } 
$('#weatherType').unbind("click"); 
$('#weatherType').click(function() { 
    performConversion(); 
    }) 

} 
+0

Warum sollte er das tun? – j08691

+0

Weil Sie HTML in Ihrem div ersetzen, müssen Sie das click-Ereignis für dieses div erneut binden –

+0

Ohne [mcve] können wir nichts deutlich sehen. Übrigens war ich nicht derjenige, der dich herabgestuft hat – j08691

Verwandte Themen