我试图将值添加到一个简单的数组,但无法将值推入数组。

到目前为止,这是我的代码:

codeList = [];

jQuery('a').live(
    'click',
    function()
    {
         var code = jQuery(this).attr('id');
         if( !jQuery.inArray( code, codeList ) ) {
              codeList.push( code );
              // some specific operation in the application
         }
    }
);

上面的代码不起作用!
但是,如果我手动传递值:
codeList = [];

jQuery('a').live(
    'click',
    function()
    {
         var code = '123456-001'; // CHANGES HERE
         if( !jQuery.inArray( code, codeList ) ) {
              codeList.push( code );
              // some specific operation in the application
         }
    }
);

有用!

我不知道这是怎么回事,因为如果我手动进行其他测试,它也可以工作!

最佳答案

试试这个..而不是笨拙地检查其索引。
找不到时返回-1。

var codeList = [];

jQuery('a').live(
    'click',
    function()
    {
         var code = '123456-001'; // CHANGES HERE
         if( jQuery.inArray( code, codeList ) < 0) { // -ve Index means not in Array
              codeList.push( code );
              // some specific operation in the application
         }
    }
);

10-04 21:56