题目1:点击每个 li节 点 都弹出其文本值
代码注意:1 . 为什么要写成 liNodes[i].onclick = funciton(){xxxx}
liNodes[i].onclick =XXXX;
function hello()
{
alert(“hello”);
}
- 如果我们是 liNodes[i].onclick = hello;
实际上是用的引用 相当于liNodes[i].onclick = function (){alert(“hello”);};
2.如果我们是 liNodes[i].onclick = hello(); 代表的是 这个函数被执行了
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
// 练习1 点击每个li节点 都弹出其文本值
window.onload = function()
{
//1.获取所有的 li 节点
var liNodes = document.getElementsByTagName("li");
//2.使用for循环进行遍历
for(var i = 0; i < liNodes.length;i++)
{
//3. 为每一个li节点添加onclick 响应函数
liNodes[i].onclick = function()
{
//4. 在响应函数中获取当前节点的文本节点的文本值
//5.alert打印
//this 为正在响应事件的那个节点 指代的是
alert(this.firstChild.nodeValue);
//调用下面这个语句但是没有反应
//alert(liNodes[i].firstChild.nodeValue)
}
}
}
<