我已经成功地根据矩阵中指定的一个数组(即数组内嵌套数组)生成了一系列列表项。
我希望能够传递一个变量(代表数组)到函数中,这样它就可以将基于传入的数组填充未排序列表中的列表项。
问题:
- 该函数一次只能处理一个数组
- 它还会在标记中产生逗号(可能是因为它将数组转换为字符串)
解决方案需要:
- 假设DOM中不存在未排序列表
- 能够接受不同的数组传入(
options[0]
,options[1]
等) - 生成没有逗号的列表项
JavaScript:
var options = [
set0 = ['Option 1','Option 2'],
set1 = ['First Option','Second Option','Third Option']
]
function makeUL(){
var a = '<ul>',
b = '</ul>',
m = [];
// Right now, this loop only works with one
// explicitly specified array (options[0] aka 'set0')
for (i = 0; i < options[0].length; i += 1){
m[i] = '<li>' + options[0][i] + '</li>';
}
document.getElementById('foo').innerHTML = a + m + b;
}
// My goal is to be able to pass a variable
// here to utilize this function with different arrays
makeUL();
options.set0
的元素解释为HTML,这通常是不可取的。(XSS漏洞的常见来源。当列表为空时还会产生一个空元素。) - Ry-