2011-09-28 43 views
-4

我有這個代碼,它不工作它只是爲了測試。if else改變文本字段

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

它怎麼不工作? –

+0

未進入如果 – macwadu

+0

與上述代碼無關。 –

回答

0

在分配更改爲

var a = "undefined",而不是==

+0

坦克對所有人和遺憾的錯誤。問題在於IF和小寫字母以及@kalyan所說的 – macwadu

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'; 
} 

如果你實際上是試圖找出是否是正確的定義,使用...

if (typeof a === 'undefined') { 
    document.getElementById('sp').innerHTML = 'inline'; 
} else { 
    document.getElementById('sp').innerHTML = 'inline1'; 
} 
+1

仍然有一個基本的語法錯誤,防止它編譯(仔細看看'var'語句,或在我的答案) 。 –

+0

感謝您的光臨!糾正。 – Fenton

3

所引用的代碼具有至少 3顯著,基本的語法錯誤。這不僅僅是不輸入if,它什麼也沒有做。查看JavaScript控制檯中的錯誤消息,相信我他們在那裏。

1

如果你正在寫在頭部分的代碼,將其移動到身體的標籤.. 其次,去掉一個「=」從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>