繁体   English   中英

遍历数组JS中的对象

[英]Looping through objects in an array JS

我将这个脚本放在一起,该脚本从一个包含div #mini_ads中提取两个子元素,并将它们添加到数组中。 我希望能够使用数组通过索引选择它们以进行操作。 他们个别。

我知道即使使用一个数组我也可以选择它们,但是我想要这个数组,因为我以后可能会添加更多元素。

问题是我无法通过数组中的索引单独选择项目。 我现在要执行的当前脚本是选择和操作数组中的两个对象,就好像它们都是index [0]。

var miniAds = $('#mini_ads');
var elements = miniAds.children();
var changeWtime;
var adsArr = new Array();
var i = 0;
var x = 0;
adsArr.push(elements);
console.log(adsArr);
adsArr[i].css("display", "none");   
var changeWtime = setInterval(function () {
    for (x; x < 1; x++) {
        return x;
        while (x > i) {
            adsArr[1].css("display", "block");
        }
    };
}, 5000);
console.log(x);
changeWtime;

我不确定我在哪里出问题了。 协助将不胜感激。 提前致谢。

您的代码有问题

  • elements推入“ adsArr”时,您正在创建一个双精度数组:

     adsArr.push(elements); 
  • 您在for循环中抛出return语句:

     for (x; x < 1; x++ ){ return x; // ... 
  • 您有没有理由双环while内部for

我打算口头解释该解决方案,但是在编写示例后,我意识到有太多需要解释的解决方案与您的解决方案类似:

var miniAds = $('#mini_ads'),
    elements = miniAds.children(),
    i = 2,
    x = 0;

elements.hide();

var changeWtime = setInterval(function () {
  if ( x < i ) {
      $(elements[x]).show();
  }

  x++;
}, 5000);

链接到jsbin上的示例

嗨,您应该按以下功能执行子div操作,然后我相信您可以执行您的任务...

var adsArr= [];

$('#mini_ads').children().each(
    function(i){
        adsArr.push(this);
    });

在纯Javascript中使用.styles()

.css()是一种JQuery方法,但不是Javascript

参考http://www.w3schools.com/js/js_htmldom_css.asp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM