无法在onclick上更改文本

时间:2017-01-31 00:00:12

标签: javascript jquery css

我在http://codepen.io/templenaylor/pen/ggoMPZ?editors=0011

处有一个codepen

我目前正在显示一个引用var:

的温度
<ul>
  <li id="fTemp"></li>
</ul>

尝试通过单击更改它时,它将无法正常工作。这是我用来做的功能:

  $("#fTemp").click(function(){
    if(tempSwap===false){
      $("#fTemp").html(fTemp + " &#8457;");
      tempSwap=true;
    } else{
      $("fTemp").html(cTemp + " &#8451;");
      tempSwap=false;
    }
  });

我的功能中有没有看到不正确的东西?

2 个答案:

答案 0 :(得分:4)

正如@MichaelCoker所指出的,你错过了你的其他分支中的#

除了修复它之外,我还会将元素保存到变量中,以防止将来出现错误。

var ftemp_li = $("#fTemp");

ftemp_li.click(function(){
  if(tempSwap == false){
    ftemp_li.html(fTemp + " &#8457;");
    tempSwap = true;
  } else {
    ftemp_li.html(cTemp + " &#8451;");
    tempSwap = false;
  }
});

http://codepen.io/anon/pen/VPyNPO?editors=0011

答案 1 :(得分:3)

您没有在else

中引用正确的选择器
} else{
      $("fTemp").html(

应该是

} else{
      $("#fTemp").html(

此外,您似乎在每次ajax成功时绑定点击事件

将其移出回调,并在DOM就绪处理程序中绑定您的click事件。