programing

jquery를 사용하여 div가 있는지 확인합니다.

skycolor 2023. 5. 12. 21:58
반응형

jquery를 사용하여 div가 있는지 확인합니다.

네, 저는 이것이 많은 질문을 받은 것으로 알고 있습니다.하지만 이 검색에 대한 구글의 결과는 다른 방법을 보여주기 때문에 혼란스럽습니다(아래 나열됨).

$(document).ready(function() {
    if ($('#DivID').length){
        alert('Found with Length');
    }

    if ($('#DivID').length > 0 ) {
        alert('Found with Length bigger then Zero');
    }

    if ($('#DivID') != null ) {
        alert('Found with Not Null');
    }
});

3가지 중 div가 존재하는지 확인하는 올바른 방법은 무엇입니까?

편집: 사람들이 세 가지 다른 방법들로부터 더 나은 접근법을 배우고 싶어하지 않는다는 것을 보는 것은 약간의 일입니다.이 질문은 실제로 "div가 존재하는지 확인하는 방법"에 관한 것이 아니라, 어떤 방법이 더 나은지, 그리고 만약 누군가가 설명할 수 있다면, 왜 그것이 더 나은지에 관한 것입니다.

첫 번째는 가장 간결한 것입니다. 저는 그렇게 하겠습니다.처음 두 개는 같지만, 첫 번째는 조금 더 짧아서 바이트를 절약할 수 있습니다.세 번째는 명백히 잘못된 것입니다. 왜냐하면 그 조건은 항상 참으로 평가될 것이기 때문입니다. 왜냐하면 그 문제에 대해 물체가 절대로 무효이거나 거짓이 아닐 이기 때문입니다.

단순히 ID의 존재 여부를 확인하는 경우 jQuery에 들어갈 필요가 없으므로 다음과 같이 간단히 수행할 수 있습니다.

if(document.getElementById("yourid") !== null)
{
}

getElementById돌아온다null찾을 수 없다면요

참조.

하지만 나중에 jQuery 개체를 사용할 계획이라면 다음을 제안합니다.

$(document).ready(function() {
    var $myDiv = $('#DivID');

    if ( $myDiv.length){
        //you can now reuse  $myDiv here, without having to select it again.
    }


});

선택기는 항상 jQuery 개체를 반환하므로 확인할 필요가 없습니다.null(당신이 확인해야 할 엣지 케이스가 있는지 궁금합니다.null하지만 없다고 생각합니다).

선택자가 아무것도 찾지 못하면,length === 0이는 "허위"입니다(허위로 부울 때).그래서 만약 그것이 무언가를 발견한다면 그것은 "진실성"이어야 합니다 - 그래서 당신은 0보다 더 큰 것을 확인할 필요가 없습니다. 단지 그것은 "진실성"입니다.

카림79가 언급했듯이, 첫 번째가 가장 간결합니다.그러나 일부 Javascript/jQuery 프로그래머에게 0이 아닌 값/거짓 값이 평가되는 것이 명백하지 않기 때문에 두 번째 값이 더 이해할 수 있다고 주장할 수 있습니다.trueif-statement에서.그리고 그것 때문에, 세 번째 방법은 틀렸습니다.

언급URL : https://stackoverflow.com/questions/6899175/check-if-a-div-exists-with-jquery

반응형