【发布时间】:2013-04-21 05:34:05
【问题描述】:
我正在浏览一本书,它似乎是正确的,但以下代码不断给我错误:无法将属性“nodeValue”设置为 null。该代码对我来说很有意义,但我不明白为什么单击清除按钮时无法清除文本值。
var clear = function(){
$("miles").firstChild.nodeValue = "";
$("gallons").firstChild.nodeValue = "";
$("mpg").firstChild.nodeValue = "";
}
window.onload = function () {
$("calculate").onclick = calculateMpg;
$("miles").focus();
$("clear").onclick = clear;
}
HTML
<section>
<h1>Calculate Miles Per Gallon</h1>
<label for="miles">Miles Driven:</label>
<input type="text" id="miles"><br>
<label for="gallons">Gallons of Gas Used:</label>
<input type="text" id="gallons"><br>
<label for="mpg">Miles Per Gallon</label>
<input type="text" id="mpg" disabled><br>
<label> </label>
<input type="button" id="calculate" value="Calculate MPG"><br>
<input type="button" id="clear" value="clear"><br>
</section>
【问题讨论】:
-
更改为 $("miles").get(0).firstChild.nodeValue = "" 其他类似。这应该可以解决您的问题。
-
@elclanrs - 我不确定他们使用的是 jQuery,因为如果是 jQuery,
$("miles")也不会工作。我想知道$是否是document.getElementById()的同义词。也不是,问题上没有 jQuery 标签。 -
致 OP。您的项目中的
$是什么。是 jQuery 吗?还是document.getElementById()?另外,请向我们展示相关的 HTML,以便我们查看您的 javascript 是否正确地定位了正确的对象。 -
哦,我看到没有 jQuery 标记...是的,我们需要更多信息来弄清楚
$是什么... -
我认为是prototype.js
标签: javascript html nodevalue