Jquery如何从你的html中的Id中获取字符串并将其与另一个字符串进行比较?

时间:2017-11-23 18:37:29

标签: javascript jquery

我试图在用户点击字母时尝试这样做,它会改变风格并改变温度。 例如,当我点击#weatherType时,我希望它改为华氏度 当我想回到celcius时,我会再次单击#weatherType 但是当我点击它时,它什么也没做。我做错了什么?

修改:这是我的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);
                }
            });

2 个答案:

答案 0 :(得分:0)

我想你想要这个。

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

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

查看实时预览: https://codepen.io/ziruhel/pen/BmVNqJ

将华氏温度转换为摄氏温度:

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

以下是预览: https://codepen.io/ziruhel/pen/JOZYJW

答案 1 :(得分:-1)

您需要点击

重新绑定点击事件
$('#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();
  })

}