Program Tip

빈 jQuery 선택 결과 테스트

programtip 2020. 10. 10. 10:54
반응형

빈 jQuery 선택 결과 테스트


말해봐

var s = $('#something');

다음으로 jQuery가 #something을 찾았는지 테스트하고 싶습니다. 즉, s비어 있는지 테스트하고 싶습니다 .

나는 isempty()그것에 내 신뢰 사용할 수 있습니다 .

function isempty(o) {
    for ( var i in o )
        return false;
    return true;
}

또는 jQuery 객체가 배열이기 때문에 s.length.

그러나 그다지 jQueryesque가 아니라 jQuery의 관용구에서는 보이지 않습니다. 당신은 무엇을 제안합니까?


s.length 속성을 사용하십시오.

if(s.length == 0) {
    ...
}

[편집] size () jquery 1.8에서 더 이상 사용되지 않음 http://api.jquery.com/size/


if($("#something").length > 0 ){
     // Element found
}
else{
    // No element found
}

jQuery의 프로토 타입을 확장 하는 것은 어떻습니까?

jQuery.fn.isEmpty = function(){ return !this.length }

그런 다음 s.isEmpty()읽기에 아주 좋은 것을 호출하십시오 .

if(s.isEmpty()) {
   // empty
} else {
   // not empty
}

데모

jQuery.fn.isEmpty = function(){ return !this.length }

console.log($('#id').isEmpty());
console.log($('#foo').isEmpty());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="foo"></div>


나를위한 더 많은 jQueryesque 솔루션은 다음과 같습니다.

jQuery.fn.isEmpty = function(fun){ if (this.length === 0) { fun(); } return this; };

이를 통해 일반적인 방식으로 작성할 수 있습니다.

$("#sel").fadeOut(500,afterFade).isEmpty(insteadOfFade);

참고 URL : https://stackoverflow.com/questions/2649346/test-for-empty-jquery-selection-result

반응형