2011-04-26 79 views
1

我試圖用jQuery的ajaxy插件添加AJAX到WordPress,我堅持了一兩件事:jQuery的:保持<script>標籤.find()後

我的網頁是由Ajax調用加載,過濾,並附在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 

現在很容易,但是$ mainContent中有內聯js腳本,它們被jquery分隔。 我需要他們,不知何故。

它所有的作品,如果我只是做

.append(data); 

但數據包含了完整的HTML(文檔類型,頭部,元),我不能追加。 那麼,有沒有辦法讓這些標籤在.find()之後工作?

回答

2

無論何時從字符串創建jQuery對象,腳本標記都會自動剝離。你可以在這裏看到一個討論:JavaScript RegEx for div tags

我會做的,如在上面的線程中的帖子中所建議的,是將內容包裝在特殊註釋標記中,並使用javascript 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