你好我是javascript的新手,我试着为测试网站写出一些代码而且我遇到了一些问题,下面是我的代码,我一直得到这个错误,我无法想象为什么。
TypeError: null is not an object (evaluating 'document.getElementById("h3").innerHTML = "<h3>You Are up to date!</h3>"')
这是我尝试使用的第二种方法。我正在尝试做它有一个版本列表这第一个我曾经是它会拉.js文件并建立一个表,但这没有用,所以我想我会试试这个,但猜猜是什么发生了什么?不工作
我现在使用的代码如下。如果你可以帮助那将是惊人的。 谢谢,Dakmessier
var current = "1.0";
function get_latest(){
document.getElementById("bob").innerHTML = current;
}
if (local != current){
document.getElementById("Get").innerHTML = "<button><a href=\"bla\">Get the Latest Update!</a></button>";
} else if (local == current){
document.getElementById("h3").innerHTML = "<h3>You Are up to date!</h3>";
} else {
document.getElementById("h3").innerHTML = "<h3>Sorry, unable to check for update.</h3>";
}
答案 0 :(得分:2)
document.getElementById(id)
在HTML中找到具有给定ID值的元素。 id值如下所示:
<div id="myHeader">Some Content</div>
然后,您可以找到该元素:
document.getElementById("myHeader");
每个文档中的ID值必须是唯一的,因此只能有一个具有给定ID的元素。
如果id不是你真正想要的,你可以通过标签类型,类名,属性等找到其他方式的元素......使用带有document.querySelectorAll()
的CSS选择器。
例如,如果您想查找所有<h3>
标记,则可以执行以下操作:
var items = document.querySelectorAll("h3");
以下是document.getElementById(...)
可能无法找到您希望找到的内容的其他一些原因:
在解析和加载DOM元素之前,Javascript代码正在运行,因此当您运行代码时,元素实际上还没有。对于从文档的<head>
部分运行的代码,这很常见。
您在HTML中指定ID值时出现HTML错误。
您遇到HTML错误导致浏览器无法正确解析您的HTML。
您遇到脚本错误导致脚本在到达您要运行的部分之前中止。
答案 1 :(得分:0)
如果 @Override
public boolean onCreateOptionsMenu(Menu menu) {
Log.v(
this.getClass().getName() + "!!!",
new Exception().getStackTrace()[0].getMethodName()
);
MenuItem m_item = (MenuItem)menu.findItem(R.id.action_settings);
if(m_item != null)
m_item.setTitle("Back to test");
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.settings, menu);
return true;
}
无法找到指定了Id的元素,则document.getElementById
会返回null。
声明:
if (local != current){
// ..
} else if (local == current){
// ..
} else {
// ..
}
有点奇怪。如果local != current
为false
,则local == current
必须为true
。 else if (...)
是多余的,else
部分永远不会运行。
答案 2 :(得分:0)
function myFunction() {
document.getElementById("demo").innerHTML = "Paragraph changed!";
}
<!DOCTYPE html>
<html>
<body>
<p id="demo" onclick="myFunction()">Click me to change my HTML content (innerHTML).</p>
</body>
</html>
我将解释你的答案:这是一个html +内联脚本,使内部html工作。至于关注你的答案,不清楚你的代码停在哪里,无论如何测试我的代码片段让我知道
答案 3 :(得分:0)
我知道这是一个老问题,但我遇到了同样的问题,并且在一段时间内努力寻找解决方案。
问题是我在加载页面之前执行了脚本。因此,它无法找到我们想要抓住的对象。
所以要么使用jquery document.ready函数,要么将脚本移动到html的末尾。
我希望这会有所帮助