当用户点击“清除”按钮时,我正在尝试刷新页面的一部分,目前我正在使用一些代码,我在这里找到了另一个答案:
$('.clear').click(function () {
$.ajax({
url: "",
context: document.body,
success: function (s, x) {
$(this).html(s);
}
});
});
这会重新加载整个文档正文,如何定位特定的div或类?
context: document.body.somediv?
答案 0 :(得分:7)
jQuery API关于context
选项:
此对象将成为所有与Ajax相关的回调的上下文。通过 默认情况下,上下文是表示ajax设置的对象 在调用中使用($ .ajaxSettings与传递给的设置合并 $阿贾克斯)。例如,将DOM元素指定为上下文将 为请求的完整回调创建上下文,如下所示:
$.ajax({ url: "test.html", context: document.body }).done(function() { $( this ).addClass( "done" ); });
因此,context
选项是在回调函数中设置this
对象的范围。默认情况下,它是ajax对象,具有当前配置:
$.ajax({
url: ""
}).done(function(){
console.log(this);
// logs: { url: "", type: "GET", etc... }
//
});
如果您希望定位特定部分以加载响应,您可以使用jQuery查找元素并将响应放在该元素中,context
与您无关:
$.ajax({
url: "",
}).success(function(data){
// data is your response
$(".some-element").html(data);
});
但是,您可以使用context
使配置更容易理解,如下所示:
$.ajax({
url: "",
context: $(".some-element")
}).success(function(data){
$(this).html(data);
// $(this) refers to the context object, in this case $(".some-element")
});
如果您现在希望将ajax响应加载到页面上的其他位置,则只需更改context
参数上的选择器。
答案 1 :(得分:2)
尝试
success: function (s, x) {
$('#yourdiv').html(s);//yourdiv is id of div u want to update
}
也可以通过类等
访问div$('.classOfDiv')
您是否尝试过使用上下文
context: {div:$('#yourdiv')}
成功
this.div.html(s);
答案 2 :(得分:1)
您可以使用DIV id或类名来定位特定的div元素。
<div id="div1" class="class1">
<div id="div2" class="class2">
</div>
</div>
$('#div2').html(your-text); // using ID
$('.class2').html(your-text); // using Class
答案 3 :(得分:1)
如果您希望ajax输出反映在特定div上,请确保div具有Id或类,以便我们可以轻松地在DOM上跟踪它。
假设div具有类content-output
,那么以下脚本将适合您。
$('.clear').click(function () {
$.ajax({
url: "",
success: function (s, x) {
$('.content-output').html(s);
}
});
});
答案 4 :(得分:1)
如果我理解正确,您只需从点击事件中调用.load()并将其传递给链接的href:
HTML:
<a class="link" href="page.php?id=10">Click Here<a>
JS:
$(".link").click( function(event) {
event.preventDefault();
$("#text").load($(this).attr("href"));
});
答案 5 :(得分:1)
$('.clear').click(function () {
$.ajax({
url: "",
//context: document.body, //you don't need a context
success: function (s, x) {
$(.myClass).html(s);
//now the target is class myClass or you can use
//#myID if you want to have an id as target
}
});
});
答案 6 :(得分:1)
如果您只想通过Ajax加载特定的div,那么使用jquery load 这样的事件
//clear button click event
$('.clear').click(function () {
// load ajax response inside result id (html element)
$( "#result" ).load( "URL" );
});
如果你要执行某种操作,那么在load事件中添加函数,就像这样
$( "#result" ).load( "URL", function() {
alert( "Load was performed." );
});