2012-01-09 5 views
0

예를 들어 String 개체의 기본 프로토 타입 기능 내에서 jQuery을 어떻게 사용할 수 있는지 알고 싶습니다.네이티브 String prototypal 함수에서 jQuery를 사용하려면 어떻게해야합니까?

이 나는 ​​시도했다 : 행운으로

String.prototype.jQ = function() { 
    var $currentObject = $(this); 

    return ($currentObject.length) ? $currentObject.val() : this; 
}; 

var test = "#txtEmail"; 
alert(test.jQ()); 

. 어떠한 제안?

나는 $(test).val()을 사용할 수 있다는 것을 알고 있지만 나는 내 방식대로 할 수 있는지 알고 싶습니다.

감사합니다.

+0

궁금한 점은 왜 -1일까요? – Cybrix

+0

나는 잘 모른다. +1, 좋은 질문 :) – Ryan

답변

2

이상하게도 jQuery는 프리미티브 문자열 값을 String 프로토 타입 메서드에있는 this 인 String 객체가 아닌 선택기로만 허용합니다. 당신은 원시 얻을 .valueOf()를 사용할 수 있습니다

String.prototype.jQ = function() { 
    var $currentObject = $(this.valueOf()); 

    return $currentObject.length ? $currentObject.val() : this; 
};

Here's a demo.

+0

오. 좋은 대답. – Cybrix

1

$ (이 + ""); // "this"는 현재 문자 배열이므로

String.prototype.jQ = function() { 
    var $currentObject = $(this + ""); 

    return ($currentObject.length) ? $currentObject.val() : this; 
}; 

var test = "#txtEmail"; 
alert(test.jQ()); 
+0

당신의 답변도 매우 좋지만 미니 텍스가 데모 링크를 제공했기 때문에 그의 대답을 받아 들일 것입니다. – Cybrix

관련 문제