该回答引用chatgpt:
<!DOCTYPE html>
<html>
<head>
<title>Random Numbers List</title>
<script>
// 生成随机数的函数
function generateRandomNum() {
return Math.floor(Math.random() * 100) + 1;
}
// 生成有序列表的函数
function generateOrderedList() {
// 获取包含列表的div元素
var listDiv = document.getElementById("listDiv");
// 创建有序列表
var ol = document.createElement("ol");
// 生成10个随机数并添加到列表中
for (var i = 1; i <= 10; i++) {
var li = document.createElement("li");
var num = generateRandomNum();
li.appendChild(document.createTextNode(num));
li.addEventListener("click", function() {
// 点击数值后将数值显示在p节点中
var numClicked = this.innerText;
var p = document.getElementById("resultP");
p.innerText = "You clicked: " + numClicked;
});
ol.appendChild(li);
}
// 将有序列表添加到div中
listDiv.appendChild(ol);
}
</script>
</head>
<body onload="generateOrderedList()">
<div id="listDiv"></div>
<p id="resultP"></p>
</body>
</html>
这段代码中,generateRandomNum()函数用于生成随机数,generateOrderedList()函数用于生成有序列表。在生成列表时,我们首先获取包含列表的div元素,然后创建有序列表,并向其中添加10个随机数,同时为每个数值添加一个点击事件监听器,当该数值被点击时,将数值显示在上方的p节点中。
最后,在body元素的onload事件中调用generateOrderedList()函数,以生成页面所需的有序列表。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body onload="init()">
<div id="list"></div>
<p id="value"></p>
</body>
<script>
function init(){
// 获取div节点
const listDiv = document.getElementById('list');
// 生成包含10个随机数的数组
const numbers = [];
for (let i = 1; i <= 10; i++) {
numbers.push(Math.floor(Math.random() * 100));
}
// 对数组进行排序
numbers.sort((a, b) => a - b);
// 生成有序列表元素
const ul = document.createElement('ul');
for (let i = 0; i < numbers.length; i++) {
const li = document.createElement('li');
li.innerText = numbers[i];
li.addEventListener('click', () => {
const valueP = document.getElementById('value');
valueP.innerText = numbers[i];
});
ul.appendChild(li);
}
// 将有序列表添加到div节点中
listDiv.appendChild(ul);
}
</script>
</html>
解释: