我有这个代码而且它不起作用它只是用于测试。
HTML
<a id="sp">test</a></li>
的JavaScript
document.getElementById('sp').innerHTML = 'test1';
var a == 'undefined'
IF (a == "undefined"){
document.getElementById('sp').innerHTML = 'inline';
}ELSE{
document.getElementById('sp').innerHTML = 'inline1';
}
代码未输入if
。任何人都可以帮助我吗?
答案 0 :(得分:3)
引用的代码具有至少三个重要的基本语法错误。它不只是不进入if
,它根本没有做任何事情。在您的JavaScript控制台中查找错误消息,相信我他们就在那里。
document.getElementById('sp').innerHTML = 'test1';
// 1. You want =, not ==, below. And a semicolon would be good.
var a == 'undefined'
// 2. IF should be in all lower case (if)
IF (a == "undefined"){
document.getElementById('sp').innerHTML = 'inline';
// 3. ELSE should be in all lower case (else)
}ELSE{
document.getElementById('sp').innerHTML = 'inline1';
}
答案 1 :(得分:2)
请注意,字符串'undefined'与实际未定义字符串不同。
if
和else
是小写。
document.getElementById('sp').innerHTML = 'test1';
var a = 'undefined';
if (a === 'undefined') {
document.getElementById('sp').innerHTML = 'inline';
} else {
document.getElementById('sp').innerHTML = 'inline1';
}
如果您确实想要确定a是否正确未定义,请使用...
if (typeof a === 'undefined') {
document.getElementById('sp').innerHTML = 'inline';
} else {
document.getElementById('sp').innerHTML = 'inline1';
}
答案 2 :(得分:1)
如果您在head部分编写代码,请将其移至body标签。 其次,从var a =='undefined'中删除一个“=”。
这是工作代码示例
<html><head></head>
<body>
<a id="sp">test</a>
<script language="javascript">
document.getElementById('sp').innerHTML = 'test1';
var a = 'undefined'
if (a == "undefined")
{
document.getElementById('sp').innerHTML = 'inline';
}
else
{
document.getElementById('sp').innerHTML = 'inline1';
}
</script>
</body>
答案 3 :(得分:0)
在分配中,您将更改为
var a = "undefined"
而非==