2010-05-28 4 views
0

jQuery의 ontop에이 함수를 작성하는 가장 좋은 방법은 무엇입니까?함수의 관용구 jQuery 및 선택기 경로

배경 : 내가 문제를 많이 가지고있는 기존의 웹 응용 프로그램에서 일하고 있어요. 몇 개의 "화면"을 처리하기 위해 IFrame을 삽입해야합니다. 나중에이 코드는 리팩토링되지만 현재로서는이 코드가 필요합니다.

function openIframePage(selectorPath, url) { 
    if ($(selectorPath).length > 0) { 
     $('#ifrPage').attr('src', url); 
    } else { 
     $(selectorPath).append('<iframe id="ifrPage" src="' + url + '" />'); 
    } 
} 
function closeIframePage() { 
    $('#ifrPage').remove(); 
} 

더 좋은 방법이 있나요? 대부분의 사람들은 셀렉터를 어떻게 통과합니까? 또는 jQuery 객체 자체를 전달합니까? 플러그인을 찾고 있지 않습니다. 감사.

답변

3

필자는이 함수가 실제 jQuery 객체를 매개 변수로 사용하도록하고 매개 변수를 전달할 때 $을 호출합니다.
이것은 선택기가 한 번만 평가된다는 것을 의미합니다. 예를 들어

: 최대 유연성을

function openIframePage(elem, url) { 
    if (elem.length > 0) { 
     $('#ifrPage').attr('src', url); 
    } else { 
     elem.append('<iframe id="ifrPage" src="' + url + '" />'); 
    } 
} 

, 당신은 elem = $(elem)을 쓸 수 있습니다 다음, 거의 아무것도를 전달합니다.

+0

elem이라고 부르는 것이 정상입니까? 나는 네가 할 수 있음을 안다. 하지만 실제로 jQuery 객체 이후 스타일 관점에서 생각하고 있습니다. – BuddyJoe

+0

잘 모르겠습니다. 'obj' 또는'target' 또는 아마도 iframe이라고 부를 수 있습니다. – SLaks

+0

하지만 $ ($ ("# myDiv")) == $ ("# myDiv") 전에 이것을 시도한 적이 없습니까? – BuddyJoe