이것은 아마도 어리석은 질문 일뿐입니다. 객체가 jquery인지 또는 일반 자바 스크립트인지 프로그래밍 방식으로 알 수있는 방법이 있습니까? 예를 들어obj가 jquery 또는 plain javascript인지 확인하는 방법
:
>>> $('body').jquery
"1.5.2"
이것은 아마도 어리석은 질문 일뿐입니다. 객체가 jquery인지 또는 일반 자바 스크립트인지 프로그래밍 방식으로 알 수있는 방법이 있습니까? 예를 들어obj가 jquery 또는 plain javascript인지 확인하는 방법
:
>>> $('body').jquery
"1.5.2"
의 jQuery 객체는 'JQuery와'라는 속성이 있습니다.
if (foo.each)
{
foo.each(function(...
}
else
{
$(foo).each(function(...
}
jQuery를 이 단지 자바 스크립트입니다 :
Utils.Listbox.MoveItemsUp = function(listbox) {
if(listbox.isJquery()) {
listbox.each(function(){});
}
else {
for(var i = 0; i < listbox.options.length; i++){}
}
};
한 가지 방법은 jQuerys에게 $.isPlainObject
기능을 사용하는 것입니다 (doc)이 객체가 {}
또는 new Object
, JQuery와 객체를 사용하여 생성 된 경우 즉, 당신을 말할 것이다 : 나는 당신이 비록 jQuery를 함수의 존재 여부를 테스트있을 것 같아요 거짓을 반환합니다. 그러나, 배열, 문자열과 기능도 false를 돌려줍니다 것도주의 : 당신이 기억해야하는 콜백 내에서 객체 this
는 항상 기본 개체가 아닌 JQuery와 객체 당신의 때마다 것입니다
var obj = {};
var $obj = $('div');
$.isPlainObject(obj); //returns true
$.isPlainObject($obj); //returns false
. 당신의 등
당신의 recurving 변수 경우 JSON 개체, 부울, 문자열로 유형을 반환하는 특정 방법을 사용하지 않는
이a = $('a').each(function(){
//'this' is ALWAYS an native object
});
a
항상 jQuery를의 인스턴스가 될 것입니다 : 예를 들어
귀하의 컨트롤 밖의 함수에서 jQuery 객체인지 알아 보려면 다음을 수행하십시오.
if(!listbox || !listbox.jquery)
{
listbox = $(listbox)
}
//the variable is now always going to be a jQuery object.
jquery는 항상 선택된 컨텍스트 내에서 해당 버전에 대한 참조를 저장합니다.
개체가 jQuery 개체인지 테스트하려면 해당 개체의 jquery
특성을 확인해야합니다. 그래서 :
<script>
Utils.Listbox.isJquery = function()
{
return typeof this.jquery != 'undefined';
}
</script>
이것은 정확히 제가 마르코에게 감사 드리고자했던 것입니다! – Darcy