我无法将纯 HTML 加载到动态创建的 DIV 元素中。我的脚本如下所示:
$("button").click(function () {
var divElem = $('<div />').load('@Url.Action("MyFunkyPartialView", "Home")');
});
MyFunkyPartialView 操作方法返回一个局部视图,如下所示:
我无法将纯 HTML 加载到动态创建的 DIV 元素中。我的脚本如下所示:
$("button").click(function () {
var divElem = $('<div />').load('@Url.Action("MyFunkyPartialView", "Home")');
});
MyFunkyPartialView 操作方法返回一个局部视图,如下所示:
你新创建的DIV
元素去哪里了?
当您创建一个 HTML 元素(即$('<div/>')
)时,它不会自动插入到文档中,因此您还不能在屏幕上看到它。你必须指定你想把它放在哪里。
但是,它已经在内存中,因此您已经可以操作它并对它做一些事情,包括在您正在做的时候向它添加内容。你的电话没有错.load()
。
长话短说,你没有做错任何事——你只是错过了工作流程中的一个步骤。
那么,您唯一需要做的就是将 插入DIV
到您的文档中。您可以使用以下方法执行此操作:
var divElem = $('<div/>').load('@Url.Action("MyFunkyPartialView", "Home")');
// ...
divElem.appendTo('#main');
这会在DIV
元素内部添加#main
元素,毕竟它是原始内容。
在访问DIV
的内容时,我们必须确保.load()
调用有机会首先完成。通常这最好通过complete
回调来实现。
var divElem = $('<div/>')
.load('@Url.Action("MyFunkyPartialView", "Home")', function () {
// this function executes after the load AJAX call completes,
// so this is the best place to access the contents of the div.
alert(divElem.html());
});