我只获得最后一个列表如何获得三个列表 我认为错误在
元素中。我试图通过变量' pid'在每次函数调用时更改它。所以我可以得到三个清单。 任何人都可以指导我 代码如下,
<script>
var fruits = [];
for (i = 0; i < 5; i++) {
fruits[i] = prompt("please enter the name of fruit " + (i + 1));
}
document.write("Fruits in unordered form are: " + fruits + "<br>");
function writeList (pid, heading, fruits) {
var showList = "<ul>";
for (i = 0; i <fruits.length; i++) {
showList += "<li>" + fruits[i] + "</li><br>";
}
showList += "</ul>";
document.write("<p id='pid'></p>");
document.getElementById("pid").innerHTML = heading + " list of fruits is: <br>" + showList;
}
writeList (1, "un sorted", fruits);
fruits.sort();
document.write("Fruits in ascending order are: "+ fruits + "<br>");
writeList (2, "Sorted", fruits);
fruits.reverse();
document.write("Fruits in descending order are: " + fruits);
writeList (3, "Descending", fruits);
</script>
答案 0 :(得分:0)
根据doc
写入已经加载但未调用的文档 document.open()将自动执行document.open调用。
这就是document.open()做的事情
如果目标中存在文档,则此方法将其清除(请参阅 上面的例子)。
此外,元素的id必须在整个文档中是唯一的。
document.getElementById("pid").innerHTML
将始终只引用一个元素。
简单地替换
document.write ("<p id='pid'></p>")
与
document.body.innerHTML += "<p data-id='pid'></p>"
类似地,其他document.write
替换为document.body.innerHTML
版本。
同时替换
document.getElementById("pid").innerHTML
与
document.querySelector("[data-id='pid']:last-child").innerHTML
答案 1 :(得分:0)
函数调用中有一个空格,请更改:
writeList (1, "un sorted", fruits);
为此:
writeList(1, "un sorted", fruits);