Javascript jQuery插件-用于设置的循环

Javascript jQuery插件-用于设置的循环,javascript,jquery,Javascript,Jquery,我正在制作一个jQuery插件,其中的设置名称相同,但编号不同。因此,在我的HTML文件中调用的脚本如下所示: <script> $(document).ready(function(){ $('body').myPlugin({ cName1 : 'First name here', cName2 : 'Second name in here', cName3 : 'Third name here', }); }); &l

我正在制作一个jQuery插件,其中的设置名称相同,但编号不同。因此,在我的HTML文件中调用的脚本如下所示:

<script>
  $(document).ready(function(){
    $('body').myPlugin({
      cName1 : 'First name here',
      cName2 : 'Second name in here',
      cName3 : 'Third name here',
    });
  });
</script>
for (var i=1;i<20;i++) {
  var cName = settings.cName + i;
  if (cName) { cNameArray.push(cName); }
}
  $(document).ready(function(){
    $('body').myPlugin({
      names : ['First name here', 'Second name in here', 'Third name here']
    });
  });
但这显然不起作用。有人知道如何在这样的for循环中使用“i”吗?

这不管用吗

for (var i=1;i<20;i++) {
  var cName = settings['cName' + i];
  if (cName != undefined && cName != null) { cNameArray.push(cName); }
}
然后,在插件中,您可以使用简单的$。each在数组中循环。

这不管用吗

for (var i=1;i<20;i++) {
  var cName = settings['cName' + i];
  if (cName != undefined && cName != null) { cNameArray.push(cName); }
}

然后,在插件中,您可以使用简单的$。each在数组中循环。

听起来您需要一个数组

$('body').myPlugin({
  cNames: [
    'First name here', 
    'Second name in here', 
    'Third name here'
  ]
});
以及基于评论的快速更新,因为您还需要描述:

$('body').myPlugin({
  cNames: [
    {
      name: 'First name here',
      description: 'First!'
    },
    {
      name: 'Second name in here',
      description: 'I am the second one!'
    },
    {
      name: 'Third name here',
      description: 'BRONZE BABY'
    }  
  ]
});

听起来你需要一个数组

$('body').myPlugin({
  cNames: [
    'First name here', 
    'Second name in here', 
    'Third name here'
  ]
});
以及基于评论的快速更新,因为您还需要描述:

$('body').myPlugin({
  cNames: [
    {
      name: 'First name here',
      description: 'First!'
    },
    {
      name: 'Second name in here',
      description: 'I am the second one!'
    },
    {
      name: 'Third name here',
      description: 'BRONZE BABY'
    }  
  ]
});

找到了我自己问题的解决方案:

for (var i=1;i<20;i++) {
      var cName = 'cName' + i;
      if (settings[cName]) { cNameArray.push(cName); }
    }

for(var i=1;i找到了我自己问题的解决方案:

for (var i=1;i<20;i++) {
      var cName = 'cName' + i;
      if (settings[cName]) { cNameArray.push(cName); }
    }


用于(var i=1;我想你真的需要了解…我想你真的需要了解…不,这不起作用。我想问题是让它明白我想添加'i'几乎就像创建一个字符串那样,它将输出cName1、cName2等。很酷,数组可以工作,但不是我想要的,因为每个cName都有一个CDE所以我不想让它们聚在一个数组中。我找到了一个解决我自己问题的方法,虽然上面贴了不起作用。我想问题是让它明白我想在上面添加“I”,就像创建一个字符串,这样它会输出cName1、cName2等。很酷,数组会起作用,但不完全是我想要的se每个cName都会有一个CDDescription,所以我不想让它们聚集在数组中。我找到了一个解决我自己问题的方法,上面已经贴了,谢谢。这是一个很好的解决方案。我没有提到每个cName也会有一个CDDescription,所以我不想因为这个原因将它们放在数组中。我已经更新了我的答案,以说明任何num你需要的字段数。你应该使用一个数组来完成这项任务。无论如何,你只是得到了一个数组。是的,我明白了。这可能是一种更好的方法,谢谢你的帮助。谢谢你。这是一个很好的解决方案。我没有提到每个cName也会有一个CDDescription,所以我不想因为这个原因将它们放入数组中。我已经升级了我的答案说明了您需要的任何数量的字段。您应该使用数组来完成此任务。无论如何,您都会得到一个数组。是的,我明白了。这可能是一种更好的方法,谢谢您的帮助。这里的概念不同。我将“cName”视为其自身变量中的字符串,而不是对象。我有一个输入错误re,cName而不是“cName”,但除此之外,我们的两个示例几乎相同。我看不出“不同的概念”任何地方。感谢您的帮助,但我已经接受了一个答案。我最初的问题是理解如何混合对象和字符串以获得我需要的结果。您最初的解决方案没有在答案中引入任何字符串,这是使其工作所必需的。这里的概念不同。我将“cName”视为I中的字符串t自己的变量,不是作为对象。我有一个输入错误,cName而不是“cName”,但除此之外,我们的两个例子几乎相同。我没有看到“不同的概念”任何地方。感谢您的帮助,但我已经接受了答案。我最初的问题是理解如何混合对象和字符串以获得我需要的结果。您最初的解决方案没有在答案中加入任何字符串,这对于使其正常工作至关重要。