2011-04-26 5 views
1

나는 JQuery와 - ajaxy 플러그인 워드 프레스에 아약스를 추가하기 위해 노력하고있어, 나는 한 가지에 붙어 :JQuery와 : .find() 후 <script> 태그를 유지

내 페이지가, 아약스 호출에 의해로드 된 필터링 , dom에 추가됩니다. 지금은

data = this.state.Response.data; //full html of page returned by ajax 
$mainContent = $(data).find("#content"); //we filter out what we need 
$('#content_div').append($mainContent); //we display it 

간단하지만, JQuery와에 의해 스트라이프됩니다 $ mainContent 인라인 JS 스크립트이있다 : 그래서 짧은에, 그것은 것입니다. 어떻게 든 그들을 필요로합니다. 모든 작품

그것을, 난 그냥

.append(data); 

을하지만 데이터가 내가 추가 할 수 없습니다 전체 HTML (문서 타입, 머리, 메타)를 포함합니다. .find() 이후에 해당 태그를 사용할 수있는 방법이 있습니까?

답변

2

문자열에서 jQuery 객체를 만들면 스크립트 태그가 자동으로 제거됩니다. 여기에서 토론을 볼 수 있습니다 : JavaScript RegEx for div tags

위 스레드의 게시물에 제안 된대로 특수 주석 태그에 내용을 래핑하고 javacript match()을 사용하여 전체 문자열을 추가합니다. .

data = this.state.Response.data; //full html of page returned by ajax 

//Assuming your data looks like: ...<!--Content Start-->CONTENT<!--Content End-->... 
//we filter out what we need 
data = data.match(/<\!\-\-Content Start\-\->(.*?)<\!\-\-Content End\-\->/)[1]; 

$('#content_div').append(data); //we display it