2017-03-01 13 views
7

Trong JavaScript của tôi, tôi muốn kiểm tra xem phần tử có id cụ thể có tồn tại hay không, tôi đã thử nó với 2 cáchCách tìm yếu tố có id cụ thể tồn tại hay không

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

nhưng nó mang lại cùng một lỗi như sau -

Object dự kiến ​​

+1

Đó là 'document.getElementById()' – Andreas

+0

Trong trường hợp đầu tiên bạn đang nói nếu phần tử là null thì lấy giá trị của nó, bạn nên kiểm tra xem nếu nó không phải là null (hay đúng hơn nếu nó đúng như bạn đang làm trong trường hợp 2). Điều khác là bạn cần sử dụng 'document.getElementById()' – winhowes

+0

yea Tôi đã làm như vậy trong mã của tôi, ở đây do nhầm lẫn –

Trả lời

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

Ý của bạn là document.getElementById ("myElement"), nó trả về giá trị boolean? –

+0

sử dụng 'if (myEle! = Null) {}' –

+0

@AmitaPatil không, nhưng bạn có thể kiểm tra xem biến có được xác định chỉ kiểm tra nó trong if, nếu biến myEle không được xác định nếu sẽ chọn khối khác của mã –

1

document.getElementById ('yourId')

là cách chính xác.

tài liệu tham chiếu tài liệu html được tải trong DOM.

và nó tìm kiếm id sử dụng chức năng getElementById() mà phải mất một tham số id của một phần tử

Giải pháp sẽ là:

var elem = (document.getElementById ('myElement')) ? document.getElementById ('myElement') .giá trị: '';

/* này sẽ gán một giá trị hoặc cung cấp cho bạn và chuỗi rỗng */

1

Bạn có thể chỉ cần sử dụng 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

Bạn cần phải xác định những đối tượng bạn gọi getElementById từ. Trong trường hợp này bạn có thể sử dụng tài liệu. Bạn cũng không thể chỉ gọi .value trên bất kỳ phần tử nào trực tiếp. Ví dụ, nếu phần tử là textbox .value sẽ trả về giá trị, nhưng nếu nó là div thì nó sẽ không có giá trị.

Bạn cũng có một điều kiện sai, bạn đang kiểm tra

if (myEle == null)

mà bạn nên thay đổi để

if (myEle! = null)

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

sử dụng 'myEle.value' bên trong nếu khối. –

+0

Bạn nói đúng. Cảm ơn! – Armin

Các vấn đề liên quan