将var应用于if语句jquery

时间:2010-06-18 00:23:02

标签: javascript jquery

如果满足条件,则需要将var应用于语句,此语法不会抛出错误但不起作用。

<script type="text/javascript">
$(document).ready(function(){
  var action_is_post = false;
      //stuff here
    $(this).ready(function () {
        if ($("#stepDesc0").is(".current")) {
        action_is_post = true;     
        }
    });
  //stuff here
</script>

我应该使用.ready以外的其他内容吗?我甚至需要$(this).ready(function ()...部分吗?当var拥有类#stepDesc0时,我需要它来应用current

$(文件)。就绪(函数(){   var action_is_post = false;   $(“form”)。submit(function(){     action_is_post = true;   }); if($(“#stepDesc0”)。is(“。current”)){         var action_is_post = true;       }  window.onbeforeunload = confirmExit;   function confirmExit()   {     if(!action_is_post)       返回'使用浏览器返回,刷新或关闭按钮将导致您丢失所有表单数据。请使用表单上的“下一步”和“后退”按钮。';   } });

2 个答案:

答案 0 :(得分:2)

<script type="text/javascript">
  $(document).ready(function(){
    var action_is_post=$("#stepDesc0").is(".current");
  });
</script>

如果您希望变量可以在$(document).ready(function(){...之外访问,那么您需要在语句之外声明它:

<script type="text/javascript">
  var action_is_post;

  $(document).ready(function(){
    action_is_post=$("#stepDesc0").is(".current");
  });
</script>

HTML(为了测试它):

<a href="javascript:alert(action_is_post);">Show value</a>

答案 1 :(得分:0)

$(function() {
    var actionIsPost = $('#stepDesc0').is('.current'); 
    alert( actionIsPost );
});

如果要在current上将event类添加到#stepDesc0,请将.is检查放入事件处理程序。