2013-04-12 34 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'); 
});