我想根据ul元素的索引获取数组的值。我会试着解释一下自己:
var descgal0 = ["3456", "463", "6557", "5242"];
var descgal1 = ["gfdgfd" "gfgdfg", "gfdg", "gfdg"];
$("#gal-content-all section ul li img").click(function() {
var index = $(this).parent().index();
var indexul = $(this).parent().parent().parent().index();
});
问题是
$("#gal-zoom h4").text(descgal0[index]); //WORKS!
$("#gal-zoom h4").text("descgal"+indexul+[index]); //DOESN'T WORK :(
我怎么能得到数组[li]值取决于我点击的ul ...? 谢谢!!!!
答案 0 :(得分:1)
您可以使用数组,因为您有连续索引
var descgals = [
["3456", "463", "6557", "5242"],
["gfdgfd", "gfgdfg", "gfdg", "gfdg"]
];
$("#gal-content-all section ul li img").click(function () {
var index = $(this).parent().index();
var indexul = $(this).parent().parent().parent().index();
$("#gal-zoom h4").text(descgals[indexul][index]);
});
答案 1 :(得分:0)
考虑您的数据模型eval似乎是唯一的方法:
$("#gal-zoom h4").text(descgal0[index]); //WORKS!
$("#gal-zoom h4").text(eval("descgal"+indexul+"["+ index + "]")); //SHOULD WORK :D
但是,如果您可以控制数据模型,那么您可以使用比eval
更漂亮的东西,如下所示:
var descgal = [["3456", "463", "6557", "5242"],["gfdgfd" "gfgdfg", "gfdg", "gfdg"]];
$("#gal-zoom h4").text(descgal[indexul][index]);
答案 2 :(得分:0)
你必须使用eval
,试试这个:
$("#gal-zoom h4").text(eval("descgal" + indexul + "[" + index + "]"));
而不是:
$("#gal-zoom h4").text("descgal"+indexul+[index]);
答案 3 :(得分:0)
试试这种方式
$("#gal-zoom h4").text(descgal0[index]);
arrName="descgal"+indexul;
$("#gal-zoom h4").text(arrName[index]);
快乐编码:)