哥们,你是手敲的代码?错误太多了,js是最难弄的,有时候一个大小写问题,就让人头疼了。
错误一:var,for,this大写了,原因js为大小写敏感的,也就是区分大小写。
错误二:document.getElementsByClassName( “li” );你写的根据类样式找到li元素,而你没有应用类样式
错误三:循环中liBtn大写了,而且liBtn是个数组,你直接.click并不知道是哪个元素
错误四:for循环中 I和i,是怎么回事?,注意标点的中英文
错误五:li没有class属性,你非得给他一个class属性,那是自定义的了,所以找不到
参考:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style>
.btn {
width:20px;
cursor:pointer;
}
</style>
</head>
<body>
<div>
<ul>
<li class="btn">1</li>
<li class="btn">2</li>
<li class="btn">3</li>
<li class="btn">4</li>
<li class="btn">5</li>
<li class="btn">6</li>
<li class="btn">7</li>
<li class="btn">8</li>
<li class="btn">9</li>
</ul>
</div>
<script>
var liBtn= document.getElementsByTagName("li");
for(var i=0;i < liBtn.length; i++ ) {
liBtn[i].onclick = function () {
this.innerHTML++;
}
}
</script>
</body>
</html>
希望能帮到你
我今天又测试了一下,li确实可以加上class类样式,给你说错了 ,不好意思
转换类型再加1呢?
这是面试题?问题表述好官方。
首先liBtn是数据,不是单个对象,所以 LiBtn.onclick 是错误的,
第二,一共才9个li,你却循环了10次???
具体步骤呢
@xiaoleilei: 关注我的博客就告诉你。
@xiaoleilei:
<html>
<body>
<div>
<ul>
<li class="btn">1</li>
<li class="btn">2</li>
<li class="btn">3</li>
<li class="btn">4</li>
<li class="btn">5</li>
<li class="btn">6</li>
<li class="btn">7</li>
<li class="btn">8</li>
<li class="btn">9</li>
</ul>
</div>
</body>
<html>
<script>
var liBtn =document.getElementsByClassName("btn");
for ( var i = 0; i < liBtn.length; i++ ) {
liBtn[i].onclick = function() {
this.innerHTML ++;
}
}
</script>
下面这段代码应该能满足你的要求,你看看:
<div> <ul> <li class="btn">1</li> <li class="btn">2</li> <li class="btn">3</li> <li class="btn">4</li> <li class="btn">5</li> <li class="btn">6</li> <li class="btn">7</li> <li class="btn">8</li> <li class="btn">9</li> </ul> </div> <script type="text/javascript"> var nodes =document.getElementsByTagName("li"); for ( var I = 0; I < 9; I++ ) { nodes[I].onclick = function() { var n= parseInt(this.innerHTML); this.innerHTML=n+1; } } </script>
希望能帮到你。
这么多高手帮你你居然分都不给。哎