2011-12-27 45 views
0

假設我有一個名爲div容器的存在,如圖檢查一個div

<div id='container'>50</div> 

現在,如果我用

var a = document.getElementById('container').value; 
var b = document.getElementById('container1').value; 

這裏一個,是不錯,但B給出一個錯誤

所以,有沒有什麼辦法來檢查div是否存在,如果它在那裏,我會得到它的值

+0

尼斯之一。我會遵循它:) – 2011-12-27 14:14:06

+0

一個不會錯誤,但會返回'undefined'因爲'div'元素沒有任何值屬性 – 2011-12-27 14:21:45

回答

5

如果在頁面上找不到任何元素,則將返回undefined。因此,您可以在嘗試訪問該值之前明確檢查undefined

var element = document.getElementById('container1'); 
if (element != undefined) //note: this can be shortened to just "if (element)" 
{ 
    alert(element.value); 
} 
+0

我看到'undefined'在舊版瀏覽器中並不全是可靠的。在任何情況下,它都會給出一個評估爲布爾型假的東西。 – 2011-12-27 14:17:37

+0

@Eugen你能詳細說明一下嗎?唯一會出錯的方式是如果有人破壞未定義的,這很少見。 – wsanville 2011-12-27 14:20:28

+1

'如果(元素)'是防彈的,更容易閱讀,寫得更短。什麼是不喜歡?如果沒有找到元素,它也返回'null'不是未定義的,但這並不重要。 – Esailija 2011-12-27 14:23:40

1
var a=null; 
var b=null; 
var o = document.getElementById('container'); 
if (o) a=o.value; 
o = document.getElementById('container1'); 
if (o) b=o.value; 
1

var b = (document.getElementById('container1') || 0).value;