由于某种原因,这行不通吗?
我想用一些项目填充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/

10-12 13:42