Jquery 如何将ajax html响应附加到当前div旁边

Jquery 如何将ajax html响应附加到当前div旁边,jquery,jquery-selectors,Jquery,Jquery Selectors,我对DOM进行了DOM如下操作 <div id='level-1'> <ul> <li><span><a>Mike</a></span></li> <li><span><a>John</a></span></li> <li><span><a>Ket</a>

我对DOM进行了
DOM
如下操作

<div id='level-1'>
  <ul>
    <li><span><a>Mike</a></span></li>
    <li><span><a>John</a></span></li>
    <li><span><a>Ket</a></span></li>  
 </ul>
</div>
$(document).on('click','div[id^=[level] ul li span a',function(){

//Making ajax request,no problem in getting the response
// Here I need to append response next to the current div i,e div#level-1 or div#leve-2
});
ajax
响应将与上述
DOM
相同,除了
div
id
锚定标记的内容<代码>id
将为
二级
三级
即<代码>+1到div的当前值。

尝试

$(document).on('click','div[id^=level] ul li span a',function(){
    var parentDiv = $(this).closest("div[id^=level]"); 

    $.ajax(...).done(function(html) {
        parentDiv.after(html);
    });

});

选择器中有一点语法错误,并且尝试在
success
回调中向div追加
response

$(document).on('click','div[id^="level"] ul li span a',function(){
    var $this = $(this);
    $.ajax({
        ...........
        success: function(response){
            $this.closest('div[id^=level]').append(response)
        },
    }); 
});

对于ajax响应,您可以在请求响应中添加append函数,例如: (psuedo代码)

$.ajax({
url:“test.html”,
上下文:document.body
}).done(函数(){
//在此处添加响应功能,例如
if(变量i;i$('#level-'+(i+1)).append('可以这样添加父div吗

<div id="levels">
 <div id='level-1'>
  <ul>
   <li><span><a>Mike</a></span></li>
   <li><span><a>John</a></span></li>
   <li><span><a>Ket</a></span></li>  
  </ul>
 </div>
</div>

这是在ajax成功回调中发生的。没问题:)。顺便说一句,您不需要在闭包中保存
$(这个)
?Jeremy,我可以添加新元素,但我不想使用click event。。thanks@Europeuser,这是一个问题吗?如果您不想使用“单击”部分,则可以在任何位置仅使用此部分:$(this.parent(“#levels”).append(“你想要什么都行!”);
<div id="levels">
 <div id='level-1'>
  <ul>
   <li><span><a>Mike</a></span></li>
   <li><span><a>John</a></span></li>
   <li><span><a>Ket</a></span></li>  
  </ul>
 </div>
</div>
$("a").on("click",function(){
    // on ajax success
    $(this).parent("#levels").append("whatever you want!");

});
$('.submit').click(function() {
    var html='';
    $.ajax({
        dataType: "json",
        url: "http://www.yoururl.com/",
        success: function (data) {
            var content = 'Title : '+data.Title ;
            content += ' Year : '+data.Year ;
            content += ' Rated : '+data.Rated ;
            content += ' Released : '+data.Released ;
            $("#text").append(content);

        }
    });
});