Kiểm tra xem có tồn tại một div hay không khá đơn giản
if(document.getif(document.getElementById('if')){
}
Nhưng làm thế nào tôi có thể kiểm tra xem một div với id đã cho không tồn tại?
Câu trả lời:
var myElem = document.getElementById('myElementId');
if (myElem === null) alert('does not exist!');
if (!document.getElementById("given-id")) {
//It does not exist
}
Câu lệnh document.getElementById("given-id")
trả về null
nếu một phần tử với given-id
không tồn tại và null
là sai có nghĩa là nó chuyển thành sai khi được đánh giá trong câu lệnh if. ( các giá trị giả khác )
null
đánh giá false
, đó không phải là kiến thức phổ biến (C # là một ngôn ngữ mà null
không sai bằng sai).
null
không bằng để false
thậm chí so bình đẳng cưỡng chế - các cuộc gọi đến ToBoolean(null)
lợi nhuậnfalse
Thử lấy phần tử có ID và kiểm tra xem giá trị trả về có là null hay không:
document.getElementById('some_nonexistent_id') === null
Nếu bạn đang sử dụng jQuery, bạn có thể làm:
$('#some_nonexistent_id').length === 0
!document.getElementById('foo')
?
document.getElementById()
lúc đó.
Kiểm tra cả mã JavaScript và JQuery của tôi:
JavaScript:
if (!document.getElementById('MyElementId')){
alert('Does not exist!');
}
JQuery:
if (!$("#MyElementId").length){
alert('Does not exist!');
}
Có một giải pháp thậm chí còn tốt hơn. Bạn thậm chí không cần kiểm tra xem phần tử có trả về hay không null
. Bạn chỉ có thể làm điều này:
if (document.getElementById('elementId')) {
console.log('exists')
}
Mã đó sẽ chỉ đăng nhập exists
vào bảng điều khiển nếu phần tử thực sự tồn tại trong DOM.
Tất cả những câu trả lời này KHÔNG tính đến việc bạn đã hỏi cụ thể về phần tử DIV .
document.querySelector("div#the-div-id")
@see https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector