使用jQuery的.load()来加载页面片段,但只获取选择器的内容

时间:2013-08-12 19:25:17

标签: jquery jquery-load

我正在使用jQuery的.load()页面片段方法来重新加载我的页面:

$("#submit").click(function() {
    $("#box").load('/ajax/box/ #box');
});

它有效,但这会导致错误,因为在加载内容后。由于此函数主要使用.innerHTML,因此它将替换div内部的代码。 HTML结果如下所示:

<div id="box">
    <div id="box">
        <!-- this is my page -->
    </div>
</div>

我已尝试使用.parent()但删除了父级中的所有其他div

$("#submit").click(function() {
    $("#box").parent().load('/ajax/box/ #box');
});

基本上这就是我想要做的事情(我知道下面的代码无效,但这代表了我想要完成的事情):

$("#submit").click(function() {
    $("#box").load('/ajax/box/ $('#box').html()');
});

我可以通过#box #box 替换吗? 要记住的一件事是我无法编辑HTML,因此只需要使用jQuery即可。

1 个答案:

答案 0 :(得分:3)

只需在> *

之后添加#box即可
$("#submit").click(function() {
    $("#box").load('/ajax/box/ #box > *');
});