循环遍历数组JS中的对象

时间:2013-09-25 05:59:16

标签: javascript jquery arrays

我正在整理这个脚本,它从包含div #mini_ads中提取两个子元素,将它们添加到数组中。我希望能够使用数组通过索引选择它们以便操作。他们个人。

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

问题是我无法通过数组中的索引单独选择项目。我已经开始的当前脚本是选择和操作数组中的两个对象,就像它们都是索引[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;

我不确定我在哪里出错了。非常感谢协助。提前谢谢。

3 个答案:

答案 0 :(得分:3)

您的代码问题

  • 当您将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);

Link to example on jsbin

答案 1 :(得分:1)

你应该按照以下功能推送孩子div,之后我相信你可以执行你的任务......

var adsArr= [];

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

答案 2 :(得分:1)

在普通的Javascript中使用.styles()

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

ref http://www.w3schools.com/js/js_htmldom_css.asp