2
我拉一個AJAX響應HTML字符串使用jQuery。當我將這個響應附加到文檔時,我有一些碰撞腳本,所以我想刪除它,並且只有在刪除了有問題的原始腳本後才放置它。jQuery的查找腳本標記在AJAX響應字符串
這裏是我的代碼(位於阿賈克斯成功功能):
var content = $(response).find('.content').html();
var scripts = $(content).find('script');
console.log(scripts);
此代碼返回0腳本。但是,當我這樣做時:
var content = $(response).find('.content').html();
var scripts = $(content).find('h3'); //PULLING H3s INSTEAD OF SCRIPT TAGS
console.log(scripts);
它返回該字符串中的所有h3's。這裏發生了什麼?
我可以證實,該劇本在響應字符串。
感謝所有幫助。我最終在文檔中使用隱藏的輸入,然後在這些值上使用$ .getScript()。一切都在工作,現在。
腳本標籤被剝離,當你做'$(響應)'執行。相反,您應該使用正則表達式將div標籤替換爲腳本標籤,然後在將其轉換爲DOM節點後,選擇所述div,迭代它們並處理它們。或者,不要在html中包含腳本標記,而是使用javascript請求。這就是我要做的事情,它遠沒有那麼容易出錯。 –
我不想在HTML中包含腳本,但它適用於想要幻燈片樣式網站的客戶端,其中網頁使用AJAX加載。很多這些頁面都有腳本。我不確定正確的做法。 – Shane