0

在下面的代码中,我有几个超链接。我希望每当我单击任何超链接时都会发出 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>

请指导我解决这个问题。我知道这是一个很小的问题,但我仍然没有得到解决。我确信我犯了一些愚蠢的错误。

请各位朋友指导我!谢谢你!

4

1 回答 1

1

更改此行:

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

到:

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

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

于 2013-02-18T13:22:20.823 回答