답변:
lenght
대신에 사용 했습니다 length
; 철자 오류입니다.
.length
.
(나는 대답을 투표 할만 큼 평판이 좋지 않은 것 같습니다 ...)
울프 는 다음과 같이 썼다.
undefined 또는 null 객체에서 length 속성을 호출하면 IE 및 웹킷 브라우저가 실패합니다!
대신 이것을 시도하십시오 :
// NOTE!! THE FOLLOWING IS WRONG; DO NOT USE! -- EleotleCram if($("#something") !== null){ // do something }
또는
// NOTE!! THE FOLLOWING IS WRONG; DO NOT USE! -- EleotleCram if($("#something") === null){ // don't do something }
이 정의되지 않은 또는 null 객체의 길이 속성을 호출하면 실패 브라우저의 원인이됩니다 것은 사실이지만, jQuery의 셀렉터의 결과합니다 ($은 ( '...')) 것입니다 결코 null 또는 정의되지 않은 수 없습니다. 따라서 코드 제안은 의미가 없습니다. 다른 답변 중 하나를 사용하면 더 이해가됩니다.
(2012 업데이트) 사람들이 코드를 보았고이 답변이 목록에서 상당히 높기 때문에 : 지난 몇 년 동안이 작은 플러그인을 사용 해 왔습니다.
jQuery.fn['any'] = function() {
return (this.length > 0);
};
나는 $ ( 'div'). any () 가 $ ( 'div'). length 보다 더 잘 읽고 오타로 고통받지 않을 것이라고 생각합니다 : $ ( 'div'). ayn () 은 런타임 오류를 줄 것입니다 , $ ( 'div'). lenght는 조용히 항상 거짓 일 것입니다.
__
2012 년 11 월 수정 :
1) 사람들은 코드를보고 코드 주위에 언급 된 내용을 읽지 않는 경향이 있기 때문에 인용 된 Wolf 코드에 두 가지 큰주의 사항을 추가했습니다.
2)이 상황에 사용하는 작은 플러그인의 코드를 추가했습니다.
lookup 함수는 일치하는 요소의 배열을 반환합니다. 길이가 0인지 확인할 수 있습니다. 변경 사항을 한 번만 찾아서 필요에 따라 결과를 재사용하십시오.
var elem = $("#btext" + i);
if (elem.length != 0) {
elem.text("Branch " + i);
}
또한 텍스트 함수를 사용해 보았습니다. 요소가 없으면 아무것도하지 않습니다.
$("#btext" + i).text("Branch " + i);
jquery $ () 함수는 항상 null이 아닌 값을 반환합니다. 즉, 선택기 cretaria와 일치하는 요소를 의미합니다. 요소를 찾지 못하면 빈 배열을 반환합니다. 따라서 코드는 다음과 같습니다.
if ($("#btext" + i).length){
//alert($("#btext" + i).text());
$("#btext" + i).text("Branch " + i);
}
jQuery 1.4에는 $ .isEmptyObject 함수가 있지만, Drupal 개발자와 같은 이전 버전의 jQ를 사용해야하는 경우이 코드를 사용하지 마십시오.
// This is a function similar to the jQuery 1.4 $.isEmptyObject.
function isObjectEmpty(obj) {
for ( var name in obj ) {
return false;
}
return true;
}
다음과 같이 사용하십시오.
console.log(isObjectEmpty(the_object)); // Returns true or false.