Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用asp.net mvc 3时,如何将jQuery load()加载到动态创建的元素中?_Jquery_Asp.net Mvc 3 - Fatal编程技术网

使用asp.net mvc 3时,如何将jQuery load()加载到动态创建的元素中?

使用asp.net mvc 3时,如何将jQuery load()加载到动态创建的元素中?,jquery,asp.net-mvc-3,Jquery,Asp.net Mvc 3,我无法将普通HTML加载到动态创建的DIV元素中。我的脚本如下所示: $("button").click(function () { var divElem = $('<div />').load('@Url.Action("MyFunkyPartialView", "Home")'); }); MyFunkyPartialView操作方法返回一个局部视图,如下所示:新创建的DIV元素在哪里 $("button").click(function () { v

我无法将普通HTML加载到动态创建的DIV元素中。我的脚本如下所示:

$("button").click(function () {
  var divElem = $('<div />').load('@Url.Action("MyFunkyPartialView", "Home")');
});

MyFunkyPartialView操作方法返回一个局部视图,如下所示:

新创建的
DIV
元素在哪里

$("button").click(function () {
  var divElem = $('<div />').load('@Url.Action("MyFunkyPartialView", "Home")');
});
创建HTML元素(即,
$(“”)
)时,该元素不会自动插入到文档中,因此您还无法在屏幕上看到它。您必须指定要将其放置在何处

但是,它已经在内存中,所以您可以对它进行操作并对其执行操作,包括在您执行操作时向其添加内容。调用
.load()
没有问题

长话短说,你们并没有做错什么——你们只是在你们的工作流程中遗漏了一个步骤

那么,您唯一需要做的就是在文档中插入
DIV
。您可以使用以下方法进行此操作:

var divElem = $('<div/>').load('@Url.Action("MyFunkyPartialView", "Home")');
// ...
divElem.appendTo('#main');

.load()
将数据加载到所选元素中
$(“”)
不选择任何东西Neil Ilagan——问题是我将我的divElem视为一个虚拟占位符,我想从中获取.html(),然后获取divElem.remove()。这可以做到吗?嗯,你可以,但我不明白这有什么意义。您可以将
.load()
ed HTML放入您的占位符中,然后使用
.HTML()
检索(更正)并将其放入文档中某个位置的另一个容器/占位符中。然而,我现在的问题是,为什么不从一开始就把HTML放在它的最后休息处呢?为什么要使用动态占位符?@Neil Ilagan——当我按照你的方式操作时,我会将我的虚拟DIV附加到主体上。在Firebug中,我看到虚拟DIV保存下载的HTML。但是alert(divElem.html())没有显示任何内容。为什么?我在评论中的观点是,没有做像
var x=$('').load()这样的事情$('#container').html(x.html());x、 移除()
,为什么不马上行动,只需执行
$(“#容器”)。加载()
?所以本质上不应该有一个虚拟的
div
。不过,要回答您的问题,可能是因为在AJAX调用有机会完成之前,您正在访问(
alert
ing)
div
元素。编辑我的答案以使其更加明显。@Neil Ilagan——如果我为load()设置了一个回调函数,并将alert(divElem.html())放在回调函数体中,那么它就可以工作了。我仍然有一个问题——divElem必须粘在文档中。若我不将divElem附加到BODY,那个么事情就不起作用了。我正试图完成类似于这个问题的事情。