javascript - JavaScript 中 onclick 属性的变量范围

标签 javascript variables prototype

我正在使用 Prototype 并尝试在循环中动态访问变量。

代码比我更会说话:

for (var i=0;i<5;i++) {
  $('parent' + i).insert(
    '<input type="button" value="Cancel" onclick="$('parent' + i).remove()" />',
    {position: 'after'}
  );
}

问题在于,当我单击任何取消按钮时,i 未定义

如何更改变量范围以便 i 为每个按钮保留正确的值?

我对任何解决方法都不感兴趣。

最佳答案

我认为您将 i 放入带引号的字符串中,而不是 parent 中,因此它处于错误的范围级别(从概念上讲)。

for (var i=0;i<5;i++)
{
    $('parent' + i).insert(
      '<input type="button" value="Cancel" onclick="$(\'parent' + i +
         '\').remove()" />', {position: 'after'});
}

关于javascript - JavaScript 中 onclick 属性的变量范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/851847/

相关文章:

javascript - 在 Chrome 和 Mozilla 中显示选择上传的图像

Javascript 模块化原型(prototype)模式

javascript - AngularJS 禁用 ng-repeat 中的一个下拉菜单

javascript - 我无法在 Backbone.js 中执行验证。

javascript - 无法调用未定义的方法 'split' - 从函数调用

c# - 使用 C# (Windows 8) 产生问题的静态变量

javascript - 如何为子原型(prototype)创建不同的原型(prototype)变量?

javascript - 从对象本身访问对象属性

javascript - 将值设置为 jquery 小部件 slider

xml - SPARQL:将变量与文字组合