2013-04-12 36 views
-3

我有一個html文件,我想用外部html文件中的內容\整個div替換其中的某個div的內容。用div替換外部html文件中的div

我試圖用jQuery來做,但有些事情是錯誤的。 這裏是我到目前爲止有:

$("#originHtml").replaceWith(external.html #temp); 

和各種與' " '組合。

的代碼是:

$("#originDivId").replaceWith(external.html #temp); 
+0

replaceWith使用「external.html #temp」作爲字符串,這就是爲什麼我不工作和.load是要走的路。 – Alex

回答

7

你必須使用jQuery的.load()功能從不同的文件加載的div。

$("#originHTML").load('external.html #temp'); 

UPDATE:

$.ajax({ 
    url: 'external.html', 
    dataType: 'html', 
    success: function(html) { 
     var targetdiv = $('#temp', $(html)); 
     $('#originHTML').replaceWith(targetdiv); 
    } 
}); 
+0

謝謝,但我已經試過了,這裏是我在控制檯中得到的: XMLHttpRequest無法加載file:/// C:/Users/***/workspace/pub/WebContent/external.html。 Access-Control-Allow-Origin不允許Origin null。 – user1908466

+0

假設OP實際上想要替換'originHtml',那麼'load()'就不會這麼做。 'load()'獲取HTML並將其返回到'originHtml'中,但不**替換'originHtml'。 – Nope

+0

@ user1908466:使用ajax是您如何加載外部html文件的內容。直接通過'ajax'或者其中一個簡單的方法,'get','load'等.Access控件的問題是一個完全不同的問題。 – Nope

2

您可以使用AJAX來從external.html的HTML。

$(document).ready(function(){ 
    $.get("external.html", function(data){ 
     $("#originHtml").replaceWith($(data).find("#temp")); 
    }); 
}); 

希望這有助於

+0

這是替換元素的好方法,但是在你的代碼中'data'不是一個jQuery對象。 – undefined

+0

@undefined true。編輯。謝謝。 – ysrb

0

要從你必須使用jQuery Ajax功能的另一個文件加載內容。

$("#originHtml").load('external.html #temp'); 

$(document).ready(function(){ 
    $("#originHtml").load('external.html #temp'); 
});