【问题标题】:jQuery javascript scoping problemjQuery javascript 范围问题
【发布时间】:2009-06-24 15:35:27
【问题描述】:

我有一个隐藏的输入元素,我用它作为计数器来命名更多由 JavaScript 生成的输入元素。要获取计数器的值,我使用

parseInt($('#counter').val());

但是我在我的代码中多次使用这个代码sn-p,所以我认为把它放在一个函数中会很好

function getCounter(){
   parseInt($('#counter').val());
}

this 总是返回 undefined,而只运行代码 sn-p 返回正确的值。这发生在我尝试定义函数的几种方式中,作为 $(function(){}) 中的函数,作为全局函数等。如何修复范围?

【问题讨论】:

    标签: javascript jquery scope


    【解决方案1】:

    在您的退货声明中添加“退货”:)

    function getCounter(){
       return parseInt($('#counter').val());
    }
    

    【讨论】:

    • 不要觉得自己很傻......它总是那些小事,假设的东西是不可能捕捉到的。它通常只需要一双新鲜的眼睛:)
    • 解决方案唯一的问题是它需要包含基础。返回 parseInt($('#counter').val(), 10);所以你不会遇到八进制问题。
    • 是的,我也错过了丢失的回报。我正准备添加评论以要求更多代码,认为这确实是一个范围界定问题......
    • @Craig,你可能想看看 CoffeeScript...它是 Ruby 逃逸者的 Javascript :)
    【解决方案2】:

    添加退货怎么样

    function getCounter(){
       return parseInt($('#counter').val());
    }
    

    【讨论】:

      猜你喜欢
      • 2014-10-24
      • 2012-04-17
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-09
      相关资源
      最近更新 更多