问题:尝试使用“动态”变量来访问 JSON/JavaScript 数组。
# 示例 #
而不是... array1[ ]或array2[ ]甚至array9000[ ]
类似... var my_array = 'array' + 'some generated number' ;
然后只是... my_array[ ]或my_array[some number]
但是这不起作用...(解决方案现在在底部)
我有一些 PHP 正在读取一些目录以及创建 JSON 数组的内容。JSON 数组按顺序命名,它们存储图像目录...
JSON 数组名称示例: images0、images1、images2 等...
<?php
$dir = opendir(getcwd());
$num=0;
while($folder = readdir($dir)) {
if($folder !== '.' && $folder !== '..'){
if (is_dir($folder)) {
echo '<script type="text/javascript">';
$folderCHILD = opendir($folder);
while($image = readdir($folderCHILD)) {
if($image !== '.' && $image !== '..'){
$images[]=$folder."/".$image;
}
}
closedir($folderCHILD);
echo 'images'.$num.' ='.json_encode($images);
unset($images);
echo '</script>';
$num++;
}
}
}
closedir($dir);
?>
然后我有一些 Javascript/Jquery 正在“尝试”通过点击函数访问这些按顺序命名的 JSON 数组。该函数将使用存储在 JSON 数组中的图像目录创建图像。
<script type="text/javascript">
$(document).ready(function() {
$('something').click(function() {
var indexCURRENT = $(this).index();
var ARRAY = 'images'+indexCURRENT;
$(document.createElement("img")).attr({ src: ARRAY[some number]}).addClass("image").appendTo('body');
});
});
</script>
^上面的 Javascipt/Jquery 不起作用^
但是感谢dev-null-dweller这段代码确实有效......
<script type="text/javascript">
$(document).ready(function() {
$('#gallery_link p').click(function() {
var indexCURRENT = $(this).index();
var ARRAY = 'images'+indexCURRENT;
$(document.createElement("img")).attr({ src: window[ARRAY][some number]}).addClass("image").appendTo('body');
});
});
</script>
区别?
.attr({ src: window[ARRAY][some number]})