无法使用 childer() / find() 更改 child

can not change the child with childer() / find()

HTML:

 {{Form::open(['route' => ['client.message.mark' , $message] , 'class' => 'check_form' ])}}
 @if($message->new == 0)
   <button class="btn btn-primary btn-floating submitbutton"
   title="{{__('Mark as read')}}" data-toggle="tooltip" type="submit">
     <i class=" icon-item fa   fa-times   font-size-13">x</i>
 else
     <button class="btn btn-primary btn-floating submitbutton"
      title="{{__('Mark as unread')}}"  data-toggle="tooltip" type="submit">
      <i class=" icon-item fa   fa-check   font-size-13">s</i>
      @endif
</button>

JQUERY:

   <script>
$(document).on('submit' , '.check_form' , '' , function(event){
 event.preventDefault();
 $.ajax({
   url:$(this).attr('action'),
   type:'post',
   data: $(this).serialize(),
   success: function(s){
         console.log($(this).children('.icon-item'));
          if(s.data === 'marked_as_read')
             $(this).children('.icon-item').removeClass('fa-times').addClass('fa-check');
             
           [  or   $(this).children('i').removeClass('fa-times').addClass('fa-check');
             or      $(this).find('.icon-item').removeClass('fa-times').addClass('fa-check'); 



    $(document).on('submit' , '.check_form' , '' , function(event){
     event.preventDefault();
     $.ajax({
       url:$(this).attr('action'),
       type:'post',
       data: $(this).serialize(),
       success: function(s){
             console.log($(this).children('.icon-item'));
              if(s.data === 'marked_as_read')
                 $(this).children('.icon-item').removeClass('fa-times').addClass('fa-check');
                 
               [  or   $(this).children('i').removeClass('fa-times').addClass('fa-check');
                 or      $(this).find('.icon-item').removeClass('fa-times').addClass('fa-check'); ]
              if (s.data === 'marked_as_unread)
                   $(this).children('.icon-item').removeClass('fa-chcek').addClass('fa-times');

                                            }
                                        });
                                    });

<!-- language: lang-html -->

     {{Form::open(['route' => ['client.message.mark' , $message] , 'class' => 'check_form' ])}}
                                                        @method('POST')
    @csrf
     
     @if($message->new == 0)
                                                            <button class="btn btn-primary btn-floating submitbutton"
                                                                    title="{{__('Mark as read')}}"
                                                                    data-toggle="tooltip"
                                                                    type="submit">
                                                                <i
                                                                   class=" icon-item fa   fa-times   font-size-13">x</i>
                                                            @else
                                                                    <button class="btn btn-primary btn-floating submitbutton"
                                                                            title="{{__('Mark as unread')}}"
                                                                            data-toggle="tooltip"
                                                                            type="submit">
                                                                <i
                                                                   class=" icon-item fa   fa-check   font-size-13">s</i>
                                                            @endif
                                                        </button>


]
          if (s.data === 'marked_as_unread)
               $(this).children('.icon-item').removeClass('fa-chcek').addClass('fa-times');

                                        }
                                    });
                                });
                            </script>

无法使用 children() / find() / html() 更改任何内容 当我使用 $('.icon-item') 更改 class 和图标时,它会起作用(正如我们看到的所有图标)但是当我想更改 child 时,这是不可能的。 如果有什么方法可以更改 child 的内容,那将是一个很好的方法,可以节省我更多的时间。该死的图标花了我一天的时间 请帮忙

在您的 AJAX 回调中,this 不明确。它可能意味着回调或 AJAX 或提交功能。为了缓解这种情况,定义一个更具体的变量。

$(document).on('submit' , '.check_form' , '' , function(event){
  event.preventDefault();
  var $self = $(this);
  $.ajax({
  ...

现在我们知道 $self 代表提交的表单。这也意味着.children()会有更具体的参考。