2013-07-10 1 views
0

와 활성 DIV에있는 하나를 선택2 개 형태 중, 내가 지금처럼 2 개 개의 분리 된 div 중첩이 개 형태를 가지고 JQuery와

<div id="div1" style="display:block"> 
    <form name="form"> 
</div> 

<div id="div2" style="display:none"> 
    <form name="form"> 
</div> 

당신이 탭을 전환 그렇게 할 때 양식 탭 내부에 기본적으로 있습니다, div가 활성화되고 형식도 변경됩니다. 다른 div는 스타일 속성을 style="display:none"으로 변경하며 양식은 비활성 상태가됩니다. 이제 활성 div에있는 양식을 선택하려고합니다. 어떤 아이디어? 대신 오브젝트의 형식의 HTML을 원하는 경우에

Fiddle

var form = $('div:visible form[name=form]'); 

:

답변

1

:visible 선택기를 사용하여이 눈에 띄는에 포함 된 양식을 선택하는 것입니다

var formHTML = $('<div>').append($('div:visible form[name=form]').html()).html(); 

div로 변환 한 다음 폼을 외부 HTML로 가져옵니다.

+0

대단히 감사합니다! 이것은 * 거의 * 내가 무엇을 찾고 있었는지입니다. 'form name = "form">'처럼 폼 요소 자체로서 반환 될 필요가 있습니다. 기존 스크립트에서는 이렇게 처리했습니다 : 'eval ('document.theFormName')'; – Ortix92

+0

개체 대신 HTML 형식을 원하십니까? – MrCode

+0

예, 있습니다. 이전 스크립트를 수정하고 너무 많이 망치고 싶지 않습니다. 그러나 나는 단지 첫 번째 라인을 원한다. 그래서 그 사이에있는 물건이 아닙니다. – Ortix92

0

표시 선택기에 대한 jQuery 문서를 참조하십시오. MrCode 표시 언급 한 바와 같이, 그러나 당신의 코드에서 당신이 DIV ID가 활성화되어있는 것을 안다면 내가 이런 짓을 했을까 또한 단지

var form = $('#div2 > form'); 

보다 느린입니다 :

0

당신은 사용할 수 있습니다.