如果否则改变文本字段

时间:2011-09-28 12:41:48

标签: javascript

我有这个代码而且它不起作用它只是用于测试。

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。任何人都可以帮助我吗?

4 个答案:

答案 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'与实际未定义字符串不同。

ifelse是小写。

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"而非==

相关问题