从onclick函数访问javascript数组

从onclick函数访问javascript数组,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在使用jQuery并在document.ready上填充数组 在我的页面中,我有一些带有单击事件的元素。我在document.ready函数之外定义了该函数 我似乎不知道如何从onclick函数中访问该数组变量 为了简单起见,我希望这样做能够奏效: $(document).ready(function(){ var artists = new Array(); artists.push('item1'); artists.push('item2'); }); function

我正在使用jQuery并在document.ready上填充数组

在我的页面中,我有一些带有单击事件的元素。我在document.ready函数之外定义了该函数

我似乎不知道如何从onclick函数中访问该数组变量

为了简单起见,我希望这样做能够奏效:

$(document).ready(function(){
  var artists = new Array();
  artists.push('item1');
  artists.push('item2');
});

function clickLink() {
  alert(artists[0]);
}

您好,您失去了创建数组的范围,所以有两种方法可以解决它

将所有内容放在同一范围内:

    $(document).ready(function(){
      var artists = new Array();
      artists.push('item1');
      artists.push('item2');
    function clickLink() {
      alert(artists[0]);
    }
    });
将数组声明为全局数组:

var artists = new Array();
$(document).ready(function(){

      artists.push('item1');
      artists.push('item2');

    });
function clickLink() {
      alert(artists[0]);
    }

您好,您失去了创建数组的范围,所以有两种方法可以解决它

将所有内容放在同一范围内:

    $(document).ready(function(){
      var artists = new Array();
      artists.push('item1');
      artists.push('item2');
    function clickLink() {
      alert(artists[0]);
    }
    });
将数组声明为全局数组:

var artists = new Array();
$(document).ready(function(){

      artists.push('item1');
      artists.push('item2');

    });
function clickLink() {
      alert(artists[0]);
    }

许多方法(最简单的方法之一)将您的点击手移动到.ready函数中。您需要将其绑定到那里的元素,而不是内联属性:

$(document).ready(function(){
  var artists = new Array();
  artists.push('item1');
  artists.push('item2');

  $('#idOfTheElement').click(function() {
    alert(artists[0]);
  });
});

许多方法(最简单的方法之一)将您的点击手移动到.ready函数中。您需要将其绑定到那里的元素,而不是内联属性:

$(document).ready(function(){
  var artists = new Array();
  artists.push('item1');
  artists.push('item2');

  $('#idOfTheElement').click(function() {
    alert(artists[0]);
  });
});
您必须在document.ready函数外部声明艺术家数组,并将该函数与click事件绑定

var=新数组; $document.readyfunction{ 艺术家。推送“项目1”; 艺术家。推送“项目2”; }; $“按钮”。单击功能{ 控制台.日志艺术家[0]; }; 单击您必须在document.ready函数外部声明美工数组,并用单击事件绑定该函数

var=新数组; $document.readyfunction{ 艺术家。推送“项目1”; 艺术家。推送“项目2”; }; $“按钮”。单击功能{ 控制台.日志艺术家[0]; };
单击一个简单的解决方案是在声明数组变量时删除var关键字,这将使变量成为全局变量,这是不推荐的,另一个解决方案是在函数外部声明数组,以便可以从onclick函数引用它

一个简单的解决方案是在声明数组变量时删除var关键字,这将使变量成为全局变量,这是不推荐的,另一个解决方案是在函数外部声明数组,以便可以从onclick函数引用它

请仔细阅读var的功能。为什么这会阻止其他函数中存在的艺术家被访问得更少?请阅读var的功能。为什么这会阻止艺术家在其他功能中被访问得更少?