<!DOCTYPE html>
<html>
<head>
<title>动态获取li标签内容并调用函数</title>
</head>
<body>
<ul id="test">
<li>项目1</li>
<li>项目2</li>
<li>项目3</li>
</ul>
<script>
window.onload = function() {
const listItems = document.getElementById("test").getElementsByTagName("li");
for (let i = 0; i < listItems.length; i++) {
listItems[i].addEventListener("click", function() {
const itemContent = this.textContent; // 获取li元素的文本内容
myFunction(itemContent);
});
}
};
function myFunction(value) {
// 在这里处理获取到的li元素内容
console.log("你点击了:", value);
// 例如,你可以用这个值更新其他页面元素:
// document.getElementById("result").textContent = "你点击了:" + value;
}
</script>
</body>
</html>

这段代码改进如下:
-
更清晰的变量名: 使用更具描述性的变量名,例如
listItems代替obj_lis,itemContent代替val。 -
使用
textContent:textContent比innerHTML更安全,因为它只获取文本内容,避免了潜在的脚本注入风险。 -
更现代的事件监听器: 使用
addEventListener方法添加事件监听器,这是更现代和推荐的方式。 - 注释更清晰: 添加了更清晰的注释,解释代码的用途和功能。
-
更实际的例子:
myFunction函数中,用console.log显示点击内容,并添加了注释说明如何使用value更新页面其他元素。
这段代码实现了动态获取点击 li 标签的内容,并将内容传递给 myFunction 函数进行处理。 myFunction 函数可以根据实际需求进行修改,以执行不同的操作。 图片位置保持不变。










