Jquery,变量没有选择正确的值

时间:2016-03-14 05:00:54

标签: jquery

在html中,我有2个不同ID的链接。当我点击两个id时,代码进入“If”循环的第一个条件。知道什么是错的吗?

Html:

  <ul class="megamenu-list menuapp">
            <li class="title">Types</li>
            <li><a href="app.html" id="sop">SOP</a></li>
            <li><a href="app.html" id="tpc">TPC</a></li>
    </ul>

我的jquery脚本:

$(document).ready(function(){ 
var $appload;

    $(".menuapp li a").click(function(){
      $appload = $(this).attr('id');
      alert($appload);
    });

  if($appload ="tpc"){ 
    alert("insop"); //in both cases the code enters this condition.
    $("#dynamic").load("app/sop.html");
  }
  else if ($appload ="sop"){
     alert($appload);
    alert(" intpc");
  $("#dynamic").load("app/tpc.html");
  }
});

3 个答案:

答案 0 :(得分:2)

使用==检查条件。 =是一个赋值运算符

使用以下代码

if($appload == "tpc")

同样的变更适用于

else if ($appload == "sop"){ 

您可以使用 this 来理解==

的概念

<强>更新

根据您的代码,它永远不会进入if条件中的任何一个。这是因为代码if-else仅在页面加载时运行一次。 您可以在click事件中移动该条件语句。

您的代码看起来像这样

$(document).ready(function() {
  var $appload;

  $(".menuapp li a").click(function() {
    $appload = $(this).attr('id');
    alert($appload);
    if ($appload == "tpc") {
      alert("insop");
      $("#dynamic").load("app/sop.html");
    } else if ($appload == "sop") {
      alert($appload);
      alert(" intpc");
      $("#dynamic").load("app/tpc.html");
    }
  });
});

答案 1 :(得分:0)

if语句放入函数并使用 event.preventDefault()来阻止标记的触发网址

$(document).ready(function(){ 
   var $appload;
   $(".menuapp li a").click(function(e){
      e.preventDefault();

      $appload = $(this).attr('id');
      if($appload == "tpc"){ 
        alert("insop"); //in both cases the code enters this condition.
        $("#dynamic").load("app/sop.html");
      }else if ($appload == "sop"){
        alert(appload);
        alert(" intpc");
        $("#dynamic").load("app/tpc.html");
      }
  });
});

答案 2 :(得分:0)

<ul class="megamenu-list menuapp">
    <li class="title">Types</li>
    <li><a href="javascript:void(0)" id="sop">SOP</a></li>
    <li><a href="javascript:void(0)" id="tpc">TPC</a></li>
</ul>
<script src="jquery-2.2.1.min.js"></script>
<script>



    $(document).ready(function () {
        var $appload;
        $(".menuapp li a").click(function () {
            $appload = $(this).attr('id');
            if ($appload == "tpc") {
                $("#dynamic").load("app/sop.html");
            }
            else if ($appload == "sop") {
                $("#dynamic").load("app/tpc.html");
            }
        });
    });
</script>
相关问题