循环遍历数组 JS 中的对象

Looping through objects in an array JS

本文关键字:对象 JS 遍历 数组 循环      更新时间:2023-09-26

我正在整理这个脚本,该脚本从包含的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