0

我想在一个按钮上div用 jQuery 替换一个容器onclick,但我不知道该怎么做。我试过这个:

jQuery(document).click(function() {
("#dynamic").load("single.php #partial_index");
});

但是我该如何替换它?现在如果我点击它就不会显示(它什么也不做),但我想这是正常的,因为我没有声明替换 div。有什么改变我可以得到这个工作吗?

如果我点击动态按钮,我想用一个名为 test 的 ID 替换一个 div。我希望它被 single.php #partial_index 替换。该按钮现在什么也不做。

4

4 回答 4

3

首先,始终确保您的主要代码位于 DOM 就绪结构中,如下所示:

jQuery(document).ready(function() {
    // This fires when the DOM has loaded (thus all your link(stylesheet) and script includes at the very least
});

在您的函数内部,我看到您使用 ('#dynamic'),而它缺少 $ jQuery 全局或 jQuery 命名空间本身,请像这样使用它:

jQuery('#dynamic');

或者

$('#dynamic');

接下来,您有一个想要用来替换 div 内的内容的按钮?

$('button').click(function() {
    $('#dynamic').load('single.php#partial_index');
});

您还可以用新元素替换您的内容,如下所示:

$('#dynamic').replaceWith($('<div>I am a new jQuery dynamic element!</div>'));
于 2013-07-19T14:43:33.030 回答
1

未经测试,但这样的事情应该可以工作

$("#dynamic").click(function() {
    $("<div />").attr("id", "#partial_index").load("single.php #partial_index", function(data){
         var newDiv = $(this).html(data);
         $('#test').replaceWith(newDiv)  
     })
});
于 2013-07-19T14:58:36.430 回答
1

这段代码现在所做的是将点击处理程序绑定到文档。单击文档时,它会加载single.php #partial_index#dynamic元素中(尽管它缺少$: $('#dynamic')

这就是我认为你想要的:

$('#dynamic').click(function() {
    $('#test').load("single.php #partial_index");
});
于 2013-07-19T14:42:16.470 回答
0
$("#dynamic").click(function() {
   $('#test').replaceWith($('#partial_index'));
});
于 2013-07-19T14:44:17.963 回答