ajax - 不捕获 ajax 中的类
问题描述
我在使用 ajax 更改课程时遇到问题,它适用于 boton 课程,但不适用于 boton_clic_sin 课程,请有人可以帮助我。谢谢
$(document).ready(function() {
$('.btnguardar').on('click', function(e) {
e.preventDefault();
var $container = $(this).closest(".container");
var id_oferta = $container.find(".id_oferta").val();
var url_img = $container.find(".url_img").val();
var $boton = $(this).closest('.boton');
var $boton_clic_sin = $(this).closest('.boton_clic_sin');
$.ajax({
type: "POST",
url: "app/ofertasguardadasController.php",
data: {
id_oferta,
url_img},
success: function(r) {
if (r==1) {
$('.aviso').empty();
$('.aviso').append('Se agrego a la lista <a href="Las-Ofertas-que-mas-te-gustan"> Ver lista</a>').fadeIn("fast");
$('.aviso').fadeOut(7000);
$boton.addClass('deshabilita');
$boton.attr('disabled', 'disabled');
$boton_clic_sin.addClass('.habilita');
$('.lista').html("Ver lista").fadeIn("slow");
$('.title_lista').html("Agregado a la lista").fadeIn("slow");
}
}
});
});
});
html
<span class="boton_clic_sin">♥</span>
<button id="btnguardar" class="boton btnguardar">♥</button>
解决方案
如果您span
位于您之前,您button
可以使用prev()获取该元素并用于toggleClass
添加或删除添加的类。
演示代码(我删除了一些不需要的代码):
$('.btnguardar').on('click', function(e) {
//find button prev element ->span
var $boton_clic_sin = $(this).prev();
//use toggle to add or remove class
$boton_clic_sin.toggleClass('habilita');
});
.habilita {
color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span class="boton_clic_sin">♥</span>
<button id="btnguardar" class="boton btnguardar">♥</button>
推荐阅读
- bash - 在 azuredevops 中引用秘密变量时,Curl 请求不起作用
- plaid - 作为银行账户持有人,我可以使我之前提供的所有格子身份验证无效吗?
- flutter - 我想在颤动中实现这种圆形边框设计
- python - 有没有更快更简单的方法来随机化这些问题的顺序?
- sql - POSTGRES 从 3 个表中检索数据
- python - Pandas 的这两种用法之间是否存在有意义的区别?
- azure - 使用 Azure 应用配置而不是应用服务的“配置”(环境变量)有什么好处?
- java - 创建一个忽略 Spring 异常的 ControllerAdvice 错误处理程序
- c++ - 使用模板进行有效的像素操作
- google-cloud-vision - 从表单(PDF 或 TIFF 文件)中提取特定数据