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ề nullnếu một phần tử với given-idkhông tồn tại và nulllà 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à nullkhông sai bằng sai).
nullkhông bằng để falsethậ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 existsvà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