Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中访问对象数组(或数组数组)_Javascript_Jquery_Arrays_Object - Fatal编程技术网

在Javascript中访问对象数组(或数组数组)

在Javascript中访问对象数组(或数组数组),javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,在我的JavaScript中,我有一个以两种方式存储的数据数组 作为数组数组data1[i++]=[id,url,val] 及 作为对象数组data2[i++]={id:id,url:url,val:val} 当我将两个数组输出到控制台时,我会看到所有正确的数据 接下来我想访问它们。对于第一组数据,我正在这样做: var total = data1.length; for (var j = 0; j < total; j++) { console.l

在我的JavaScript中,我有一个以两种方式存储的数据数组

  • 作为数组数组
    data1[i++]=[id,url,val]

  • 作为对象数组
    data2[i++]={id:id,url:url,val:val}
当我将两个数组输出到控制台时,我会看到所有正确的数据

接下来我想访问它们。对于第一组数据,我正在这样做:

  var total = data1.length;
      for (var j = 0; j < total; j++) {
        console.log(data1[j]);
      }
它抛出了一个错误

错误:语法错误或,无法识别的表达式:#+数据[j].id+.banner bg


我在哪里犯了错误?

你只是在逃避错误的引用。这样做:

jQuery( '#' + data2[j].id + ' .banner-bg' ).css( "background-image",  data2[j].url );

你对jQuery的论点是错误的。试试这个:

var arg = '#' + data2[j].id + '.banner-bg';
jQuery(arg).css( "background-image",  data2[j].url );
这:

应该是这样的:

jQuery( "#" + data2[j].id + " .banner-bg" ).css( "background-image",  data2[j].url );
在第一个示例中,jQuery正在解析整个字符串,包括对数组对象的引用(
data2[j].id

了解更多关于JS操作符的信息

var arg = '#' + data2[j].id + '.banner-bg';
jQuery(arg).css( "background-image",  data2[j].url );
jQuery( "#' + data2[j].id + ' .banner-bg" ).css( "background-image",  data2[j].url );
jQuery( "#" + data2[j].id + " .banner-bg" ).css( "background-image",  data2[j].url );