jquery 对元素附加操作

jquery make action forr element append

我正在聊天,我想确认每条消息是否发送?

我不知道如何定义 class confirm append, 我想让每个 class 确认其答案

 $('#btn').click(function){
var message = $('textarea').val();

$('#chat').append(message+"<span class="confirm">Sending...</span>");

$.post('chat.php', function(result){

if($.trim(result)==='ok'){

this class confirm html('sent');

}else{
this class confirm html('error');
}

}

}

如果我理解你的语法,我相信你正在寻找类似的东西:

$('#btn').click(function){
var message = $('textarea').val();

$('#chat').append("<p>"+message+" <span class='confirm'>Sending...</span><p>");

$.post('chat.php', function(result){

if($.trim(result)==='ok'){

$(".confirm").text('sent');

}else{
$(".confirm").text('error');
}

}

}

但我认为您的 POST 行不通。我假设您想将 message 发送到 chat.php。为此,您需要更多类似的东西:

$.post( "chat.php", { message: message })
  .done(function( result ) {
    //
  });
  • 更正您的语法错误
  • 使用 $("<div/>", {}); 创建一个新元素(例如 DIV)并将其存储到变量中
  • 获得 PHP 响应后,使用 jQuery 的 .addClass() 方法将所需的 class 添加到您的 记忆元素

$('#btn').click(function() {

  var message = $('textarea').val();

  // Create a new message element
  var $element = $("<div/>", {
    html: message + "<span class='confirm'>Sending...</span>",
    appendTo: "#chat"
  });

  // Check response and add class
  $.post('chat.php', {data: message}, function(result) {
    $element.addClass( $.trim(result) === 'ok' ? 'sent' : 'error')
  });

});