2017-03-01 17 views
7

在我的JavaScript我想檢查與特定ID的元素是否存在與否,我用2種方式如何找到,如果有特定ID的元素存在或不

1)試了一下。

var myEle = document.getElementById("myElement"); 
if(myEle == null){ 
    var myEleValue= document.getElementById("myElement").value; 
} 

2)。

if(getElementById("myElement")){ 
    var myEleValue= document.getElementById("myElement").value; 
} 

但它提供瞭如下同樣的錯誤 -

預期的對象

+1

它是'document.getElementById()' – Andreas

+0

在你的第一種情況下,你說如果元素爲空然後得到它的值,你應該檢查,如果它不是null(或者說,如果它真的如你所做,以防萬一2)。另一件事是你需要使用'document.getElementById()' – winhowes

+0

是的,我在我的代碼中做了同樣的事情,在這裏它的錯誤 –

回答

14
var myEle = document.getElementById("myElement"); 
    if(myEle){ 
     var myEleValue= myEle.value; 
    } 
+0

您的意思是document.getElementById(「myElement」),它返回布爾值? –

+0

使用'if(myEle!= null){}' –

+0

@AmitaPatil不,它可以不檢查,但是你可以檢查一個變量是否定義只在一個if中檢查它,如果變量myEle沒有定義,if會選擇代碼塊的其他代碼 –

1

的document.getElementById( 'yourId')

是正確的做法。

文檔引用DOM中加載的html文檔。

和它搜索使用函數的getElementById() 它接受一個元件的ID的參數的ID

解決方案將是:

VAR ELEM =(的document.getElementById( 'myElement')) ? document.getElementById('myElement')。value:'';

/*這將分配一個值,或者給你和空字符串*/

1

您可以簡單地使用if(yourElement)

var a = document.getElementById("elemA"); 
 
var b = document.getElementById("elemB"); 
 

 
if(a) 
 
    console.log("elemA exists"); 
 
else 
 
    console.log("elemA does not exist"); 
 
    
 
if(b) 
 
    console.log("elemB exists"); 
 
else 
 
    console.log("elemB does not exist");
<div id="elemA"></div>

2

你需要指定哪個對象你從中調用getElementById。在這種情況下,您可以使用文檔。你也不能直接在任何元素上調用.value。例如,如果該元素是文本框.value將返回值,但如果它是一個div它不會有一個值。

您也有一個錯誤的情況下,你要檢查

如果(myEle == NULL)

,你應該改變

如果(myEle!= null)

var myEle = document.getElementById("myElement"); 
if(myEle != null) { 
    var myEleValue= myEle.value; 
} 
+0

更好地使用裏面的'myEle.value'如果塊。 –

+0

你說得對。謝謝! – Armin

相關問題