我有一个jquery函数加载一个php文件,它将输出一些数据到一个div。代码:
function add(){
$("#div").load("add.php");
}
现在的问题是,我需要能够多次使用该功能,而不会覆盖#div
中的内容。所以现在每次我使用这个函数时,div中的文本都会被删除,并插入新的内容。
我该如何解决这个问题?
试试这个:
function add () {
$( div ).append( $( '<div>' ).load( 'add.php' ) );
}
,其中div
是对DIV元素的引用。(当然,您希望有一个引用,而不是在每次调用add()
时查询DIV。)
更新:
因此,从服务器返回的数据是'<li>...</li>'
字符串,这意味着您希望将其直接附加到UL元素:
$.get( 'addday.php', function ( data ) {
$( ul ).append( data );
});
如果您计划使用该函数将内容添加到不同的</div>
中,您可以将该函数传递给目标,而不是使用静态选择器,如:
// Add Function //
function add($target){
$target.load('add.php');
}
// Call Function and Pass jQuery Object of Target //
add($('#firstDiv'));
add($('#someOtherDiv'));
如果你打算使用这个函数来添加到相同的div中,你可以这样修改上面的函数:
function add($target){
$target.append($('<span>').load('add.php'));
}
我希望这对你有帮助!
使用$.ajax()
您可以获得响应并将其附加到您的div:
$.ajax({
url: 'add.php',
type: 'GET',
success: function(response) {
var html = $("#div").html();
$("#div").html(html + response);
// or jQuery(response).wrap('<p />').appendTo('#div');
});
$.get("add.php", function (data) {
$("#div").append(data);
});
您可以将.get()
函数与特定的成功处理程序一起使用:
$.get('add.php', function(data) {
$('#div').append(data);
});
尝试:
$.get('add.php', function(data) {
$('#div').append(data);
});