Javascript JS返回undefined,尽管我有一个变量值集
我有一个代码,它将从mysql中提取数据并显示一个复选框。单击复选框后,它将给出总数Javascript JS返回undefined,尽管我有一个变量值集,javascript,dom,Javascript,Dom,我有一个代码,它将从mysql中提取数据并显示一个复选框。单击复选框后,它将给出总数 <td><input type="checkbox" name=check[] value="<?php echo $row['amount'];?>" data-weight="<?php echo $row['amount'];?>"> </td> <div>Total: <span id="total">0</spa
<td><input type="checkbox" name=check[] value="<?php echo $row['amount'];?>" data-weight="<?php echo $row['amount'];?>"> </td>
<div>Total: <span id="total">0</span></div>
我做错了什么
您没有正确访问data-*
属性(this['data-weight']
)。DOM元素有一组特定的属性,并非所有HTML属性都映射到DOM属性1:1<代码>数据-*
属性当然不会
您可以使用获取属性的值:
this.getAttribute('data-weight')
或者,您可以使用以下属性:
this.dataSet.weight
总数是
NaN
,因为parseInt(未定义,10)
返回NaN
,因此任何进一步的计算都将导致NaN
我做错了什么
您没有正确访问data-*
属性(this['data-weight']
)。DOM元素有一组特定的属性,并非所有HTML属性都映射到DOM属性1:1<代码>数据-*属性当然不会
您可以使用获取属性的值:
this.getAttribute('data-weight')
或者,您可以使用以下属性:
this.dataSet.weight
总数是
NaN
,因为parseInt(未定义,10)
返回NaN
,所以任何进一步的计算都会导致NaN
,这个
肯定不涉及函数本身(除非明确地这样做,否则它永远不会涉及,这是非常罕见的)。由于它被用作事件处理程序,此
将引用DOM元素。这个
的工作原理在@FelixKling中解释是正确的。@MikeChristensen:不,这个
绝对不是指函数本身(除非你明确地这样做,否则它永远不会指,这是非常罕见的)。由于它被用作事件处理程序,此
将引用DOM元素。@FelixKling解释了这个的工作原理是正确的。