由于某种原因,这行不通吗?
我想用一些项目填充ul#list
,但是它不起作用。
var list = "";
for (var i = 0 ; i<=history.length; i++) {
list += "<li onclick=\"copyShortURL('"+history[i].shortURL+"');\"><div class=\"short\">"+history[i].shortURL+"</div><div class=\"long\">"+history[i].longURL+"</div></li>";
}
document.getElementById('list').innerHTML = list;
谁能告诉我怎么了:(
我的意思是,它什么都不做,列表中没有任何列表项?
附言这仅适用于mobilesafari :)
最佳答案
createElement方法仅采用元素名称,例如。 document.createElement("li")
因此,您可以使用一系列createElements和appendChilds在代码中构建DOM,并分配少量的innerHTML。或者,通过最终分配给它的innerHTML,将HTML建立为要附加到“列表”的字符串。
这是字符串版本:-
var asHTML = [];
for (var i = 0 ; i<=history.length; i++)
{
asHTML.push("<li onclick=\"copyShortURL('"+history[i].shortURL+"');\"><div class=\"short\">"+history[i].shortURL+"</div><div class=\"long\">"+history[i].longURL+"</div></li>");
document.getElementById("list").innerHTML += asHTML.join("\n");
}
关于javascript - JavaScript无法正常工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1988454/