Javascript 如何使用ajax在一次单击中加载动态创建的div中的内容
这是我当前的代码:Javascript 如何使用ajax在一次单击中加载动态创建的div中的内容,javascript,jquery,Javascript,Jquery,这是我当前的代码: var container, url; $(".nav-list li a").on("click", function(e) { e.preventDefault(); var $url = this.href + " #content"; var container = $("#content"); $(".nav li").removeClass("active"); $(this).parent().addClass("activ
var container, url;
$(".nav-list li a").on("click", function(e) {
e.preventDefault();
var $url = this.href + " #content";
var container = $("#content");
$(".nav li").removeClass("active");
$(this).parent().addClass("active");
$(this).addClass("clicked");
var $row = $(".span10");
var $rowNew = $('.new');
if ($rowNew.children().length > 1) {
$(".span10 div").removeClass("new");
$('<div class="row-fluid new"></div>').prependTo($row);
}
if ($(".new").length == 0) {
$('<div class="row-fluid new"></div>').prependTo($row);
$('<div class="span6">' + container.load(url) + '</div>').appendTo('.new');
} else {
$('<div class="span6">' + container.load(url) + '</div>').appendTo('.new');
}
});
var容器,url;
$(“.nav list li a”)。在(“单击”上,函数(e){
e、 预防默认值();
var$url=this.href+“#content”;
var容器=$(“#内容”);
$(“.nav li”).removeClass(“活动”);
$(this.parent().addClass(“活动”);
$(此).addClass(“单击”);
变量$row=$(“.span10”);
var$rowNew=$('.new');
如果($rowNew.children().length>1){
$(.span10 div”).removeClass(“新”);
$('').prependTo($row);
}
如果($(“.new”).length==0){
$('').prependTo($row);
$(''+container.load(url)+''.appendTo('.new');
}否则{
$(''+container.load(url)+''.appendTo('.new');
}
});
我试图在
中加载内容,但我对如何设置.load和加载其中的内容感到困惑
当前html输出:
<div class="row-fluid new">
<div class="span6">
container.load(url)
</div>
</div>
container.load(url)
我认为你不应该这样使用load
;它只意味着将结果放入您事先知道的现有元素中。最好在成功回调时使用get
:
e.preventDefault();
var url = $(this).attr('href') + ".content";
[...]
$.get(url, '', function(result) {
if ($(".new").length == 0) {
$('<div class="row-fluid new"></div>').prependTo($row);
$('<div class="span6">' + result+ '</div>').appendTo('.new');
} else {
$('<div class="span6">' + result + '</div>').appendTo('.new');
}
});
e.preventDefault();
var url=$(this.attr('href')+“.content”;
[...]
$.get(url),、函数(结果){
如果($(“.new”).length==0){
$('').prependTo($row);
$(''+result+'').appendTo('.new');
}否则{
$(''+result+'').appendTo('.new');
}
});
无需使用
var容器=$(“#内容”)
并在过程中删除其id。我猜行var url=this.href+“.content”
不会像jquery上下文中的this.href
那样工作,应该是$(this.attr('href')
为什么有var容器,url代码>然后再次var url=this.href+“.content”;var容器=$(“#内容”)
您是否尝试过先加载,然后使用container.html()?@roXon var container,url;是个打字错误,thanks@jtheman更改$(这个)并用当前输出更新问题没有加载,甚至没有添加新分区这是我做的,我什么也没有得到,甚至没有新分区啊,我看到url
是未定义的。如果要使用当前单击的链接的href,请使用var url=$(this.attr('href')
而不是当前的var$url=…
(只是var url=this.href
通常也可以工作)是的,我将其更改为var url=this.href+“.content”;但它不加载内容,它所做的是替换整个内容。我没有看到新的Div createdah,phew,谢谢,奇怪的是,就在几个小时前,我在$1上遇到了类似的问题;)