无法使用 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()
会有更具体的参考。
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()
会有更具体的参考。