我可以从AJAX响应中过多一个td元素但不能改变它。
$('#addjob').click(function(){
$.ajax({
type:"POST",
url: 'invoicelist.php',
success: function(response){
$('#forajax').append(response);
$(response).find('.heading').html();
}
});
});
此代码效果很好,并从<td class='heading'>123</td>
中选择文本,但如果我想更改此123结果,我会写$(response).find('.heading').html('456');
但它并没有真正改变任何内容。
有什么建议?
答案 0 :(得分:0)
更改它,然后追加。该内容与该变量无关:
$(response).find('.heading').html('456');
$('#forajax').append(response);
答案 1 :(得分:0)
您正在将原始HTML写入#forajax
容器,然后创建一个内容为response
的新jQuery对象。对新对象的任何更改都将被丢弃;它们与您编写的HTML无关。
首先获取对象,修改它,然后追加:
// create a jQuery object wrapping the returned HTML
var r = $(response);
// update the contents of our new object
r.find('.heading').html('456');
// add the new, updated object to our container
r.appendTo('#forajax');
答案 2 :(得分:0)
响应中的更改将在响应文本中更改,但不会在附加的DOM对象中更改。所以相反,搜索你附加的dom元素,并在那里
$('#addjob').click(function(){
$.ajax({
type: "POST",
url: 'invoicelist.php',
success: function(response){
$( '#forajax' ).append(response);
$( '#forajax' ).find('.heading').html( '456' );
}
});
});