为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这段实现数量增加的代码运行提示Cannot read property 'value' of undefined"

为什么这段实现数量增加的代码运行提示Cannot read property 'value' of undefined"

79351 2018-04-04 08:45:01
//scriptvar addd = document.getElementsByClassName("add"); for(var n=0;n<addd.length;n++){ addd[n].onclick=function(){ var j = document.getElementsByClassName("count-input"); var h = parseInt(j[n].value) j[n].value=h+1; }//html<tr><td><input class="count-input" value="1"/><span class="add">+</span></td></tr><tr><td><input class="count-input" value="1"/><span class="add">+</span></td></tr>
查看完整描述

4 回答

已采纳
?
QQ_随意

TA贡献51条经验 获得超28个赞

作用域问题

(function(n){

addd[n].onclick=function(){

    var j = document.getElementsByClassName("count-input");

    var h = parseInt(j[n].value)

    j[n].value=h+1;

}

})(n)

加个闭包就行了

查看完整回答
反对 回复 2018-04-04
?
79351

TA贡献1条经验 获得超0个赞

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

.count{

width: 90px;

}

.reduce{

width: 17px;

height: 23px;

background-color: gainsboro;

float: left;

border: 1px solid #e5e5e5;

line-height: 23px;

}

.count-input{

width: 50px;

height: 15px;

float: left;

text-align: center;

border: 1px solid #aaa;

color: #343434;

padding: 4px 0;

}

.add{

width: 17px;

height: 23px;

background-color: gainsboro;

float: left;

text-align: center;

line-height: 23px;

border: 1px solid #e5e5e5;

}

</style>

</head>

<body>

<table>

<tr >

<td class="count">

<span class="reduce"></span>

<input class="count-input" value="1"/>

<span class="add">+</span>

</td>

</tr>

<tr >

<td class="count">

<span class="reduce"></span>

<input class="count-input" value="1"/>

<span class="add">+</span>

</td>

</tr>

</table>

<script type="text/javascript">

var addd = document.getElementsByClassName("add");

for(var n=0;n<addd.length;n++){

addd[n].onclick=function(){

var j = document.getElementsByClassName("count-input");

var h = parseInt(j[n].value)

j[n].value=h+1;

}}

</script>

</body>

</html>


查看完整回答
反对 回复 2018-04-04
?
qq_佛说过过过_0

TA贡献17条经验 获得超8个赞

我这边并没有报错,你把代码贴全了,我运行看看。

查看完整回答
反对 回复 2018-04-04
  • 79351
    79351
    <script type="text/javascript"> var addd = document.getElementsByClassName("add"); for(var n=0;n<addd.length;n++){ addd[n].onclick=function(){ var j = document.getElementsByClassName("count-input"); var h = parseInt(j[n].value) j[n].value=h+1; } </script>
?
慕粉3166282

TA贡献28条经验 获得超3个赞

没有那个属性

查看完整回答
反对 回复 2018-04-04
  • 4 回答
  • 0 关注
  • 2229 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信