ajax响应未在单击的超链接的父div中呈现

时间:2013-02-18 13:07:57

标签: jquery ajax jquery-selectors

在下面的代码中,我有几个超链接。我希望每当我点击任何超链接时,都会发出ajax请求,并且响应将会得到 通过替换超链接在相应超链接的父div中呈现。我在谷歌搜索并尝试了几个不同的代码,但响应不明朗 在相应超链接的父div中呈现。我检查了响应及其正常进行。 您可以在评论表单中找到我的几个尝试评论。

<html>
<head>
<script type="text/javascript" src="js/stdlib/jquery-1-4-2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('[id^=idclick]').click(function(){
    alert("click");
    var tempid=this.id;
    //var divtemp=tempid.closest("div").attr("id").html(result);
    var divtemp=tempid.closest("div");
     $.ajax({
            url: this.href,
            success: function(result) {
                //alert(this.href);
                //alert(divtemp);
                 //$("#iddiv").html(result);
                 //this.parentNode.html(result);
                 //var id = 
                 //var aid=this.id;
                //aid.closest("div").attr("id").html(result);
                divtemp.html(result);
            }
        });
        return false;
    });
});
</script>
<style type="text/css">
testcss {
}
</style>
</head>
<body>
<div id="iddivone"><a id="idclick" href="TestCodeServlet?page=1">click here</a>Old data</div>
<div id="iddivtwo"><a id="idclickone" href="TestCodeServlet?page=1">click here</a>Old data</div>
<br>
<div id="iddivthree"><a id="idclicktwo" href="TestCodeServlet?page=1">click here</a>Old data</div>
<br>
<div id="iddivfour"><a id="idclickthree" href="TestCodeServlet?page=1">click here</a>Old data</div>
</body>
</html>

请指导我解决这个问题。我知道这个问题很小,但我还是没有解决。我确信我在其中犯了一些愚蠢的错误。

请指导我这个朋友! 谢谢!

1 个答案:

答案 0 :(得分:1)

更改此行:

var divtemp = tempid.closest("div");

要:

var divtemp = $(this).closest("div");

tempid只是链接的ID,没有closest方法,你想在元素本身上调用closest$(this)