【问题标题】:If statements ignoring variables inside click events如果语句忽略点击事件中的变量
【发布时间】:2015-04-05 10:47:32
【问题描述】:

我是 jQuery 新手,

我正在尝试做一些非常简单的事情。点击事件中的 if 语句。当我点击一个按钮时,如果变量 = 1,就会发生一些事情,如果它等于其他事情,就会发生其他事情。但似乎点击事件忽略了 if 语句。它只运行 if 语句中的任何内容。

我的代码:

HTML:

<button type="button" class="one">Press</button>
<button type="button" class="two">section 2</button>
<button type="button" class="three">section 3</button>
<div class="textbox">
 <h1>hi</h1>
 <p>text</p>
</div>

jquery:

var y = '.textbox p'
var n = 20

$('.one').click(function() {
  if (n=1) {
    $(y).html("hi hi <br> hi <br><br>");
    $('.textbox h1').html("titulo");
    var a=0
  }
});

$('.two').click(function() {
  if (n=1) {
    $('.textbox p').html("hey <br> hi <br><br>");
    $('.textbox h1').html("sup bro");
    var a=0
  }
  else {
    $('.textbox p').html("variable is not 1");
    $('.textbox h1').html("another");
    var a=0
  }
});

即使我将变量设置为 20,click 事件也会运行 if 语句中的任何内容。就像它忽略了变量或 if 语句。

所以我不知道出了什么问题。发生了什么事?

【问题讨论】:

  • n=1 是分配,而不是比较。转至n==1
  • 您不是在比较 n,而是在分配 n,当分配给大于零的任何值时,它返回 true。

标签: jquery html variables if-statement jquery-click-event


【解决方案1】:

一个等号 (=) 设置变量的值。 var foo = "bar"; 将设置 foo 来存储 bar

您想使用两个等号 (==),即 comparison operator(foo == "bar") 会检查 foo 是否等于 bar

【讨论】:

  • 非常感谢你,我终于可以完成我的滑块了。我被这件事困住了。我想请大家喝杯啤酒,但我们相隔千里,这是不可能的。非常感谢,祝您有美好的一天。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-23
  • 1970-01-01
  • 2017-06-06
  • 2013-02-28
  • 1970-01-01
相关资源
最近更新 更多