Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS返回undefined,尽管我有一个变量值集_Javascript_Dom - Fatal编程技术网

Javascript JS返回undefined,尽管我有一个变量值集

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

我有一个代码,它将从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</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解释了
这个
的工作原理是正确的。