[英]jQuery plugin - for loop for settings
我正在制作一個jQuery插件,其中的設置具有相同的名稱,但具有不同的數字。 因此,在我的HTML文件中調用的腳本如下所示:
<script>
$(document).ready(function(){
$('body').myPlugin({
cName1 : 'First name here',
cName2 : 'Second name in here',
cName3 : 'Third name here',
});
});
</script>
可能有不確定的設置,即cName18
所以在實際的插件中,我想使用for循環遍歷所有實例,但使用'i'作為字符串的一部分而不是調用數組的一部分。 像這樣:
for (var i=1;i<20;i++) {
var cName = settings.cName + i;
if (cName) { cNameArray.push(cName); }
}
這顯然不起作用。 有誰知道如何在這樣的for循環中使用“ i”?
聽起來您需要一個數組。
$('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 = settings['cName' + i];
if (cName != undefined && cName != null) { cNameArray.push(cName); }
}
但是,更好的主意是讓插件接受“ cNames”數組,如下所示:
$(document).ready(function(){
$('body').myPlugin({
names : ['First name here', 'Second name in here', 'Third name here']
});
});
然后,在插件中,您可以使用簡單的$ .each遍歷數組。
找到了我自己的問題的解決方案:
for (var i=1;i<20;i++) {
var cName = 'cName' + i;
if (settings[cName]) { cNameArray.push(cName); }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.