Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

175
Views
¿Por qué mi jQuery no detecta un clic en una etiqueta <i>?

 $('.close_cart').click(function(e) { e.preventDefault(); $(this).find('.btn_container').remove(); });
 .btn_container .btn_cart .close_cart { opacity: 0.8; cursor: pointer; margin-left: 1rem; } .btn_container .btn_cart .close_cart:before { content: ""; width: 20px; height: 20px; background-size: contain; background-position: center; background-repeat: no-repeat; background-image: url(https://www.gravatar.com/avatar/43730af340cb0a2cc17396e3001a86ac?s=256&d=identicon&r=PG&f=1); position: absolute; top: 3.25px; right: 3px; transition: all 0.3s ease; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="btn_container"> <a class="btn_cart" title="Aaaaa" href="#"> Aaaaa <i class="close_cart"></i> </a> </div>

El código jQuery anterior de alguna manera no funciona. He comprobado la consola y no aparece ningún mensaje de error. El código jQuery se está cargando. Creo que este problema probablemente sea causado por el pseudo-elemento. Me di cuenta de que :before hace que mi etiqueta no tenga ningún ancho, sin embargo, agregué manualmente el ancho y un display:block en la etiqueta y todavía no recibo ninguna respuesta. Es obvio que estoy haciendo algo mal, pero parece que no puedo ver qué es. ¡Ayuda por favor! gracias

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Pasos para que funcione:

  1. Se agregó una imagen que funciona aquí.
  2. display: block;
  3. position: absolute;
  4. Se eliminó la clase .cart porque no está en el HTML de demostración.

 $('.close_cart').click(function(e) { e.preventDefault(); console.log("Hello"); });
 .cart .btn_container .btn_cart .close_cart { opacity: 0.8; cursor: pointer; margin-left: 1rem; } .btn_container .btn_cart .close_cart:before { content: ''; width: 20px; height: 20px; background-size: contain; background-position: center; background-repeat: no-repeat; background-image: url(https://www.gravatar.com/avatar/43730af340cb0a2cc17396e3001a86ac?s=256&d=identicon&r=PG&f=1); top: 3.25px; right: 3px; transition: all 0.3s ease; display: block; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="btn_container"> <a class="btn_cart" title="Aaaaa" href="#"> Aaaaa <i class="close_cart"></i> </a> </div>

about 4 years ago · Juan Pablo Isaza Report

0

Para que su código cierre con éxito su carrito, debe implementar esa funcionalidad en su código.

En este momento, su función de clic no hace nada más que registrar "Hola" en la consola.

Puede usar la función jquery .hide() para ocultar el carrito ( https://api.jquery.com/hide/ ).

El siguiente código ocultaría el elemento HTML con id="cart" al hacer clic.

 $('.close_cart').click(function (e) { e.preventDefault(); $('#cart').hide(); console.log("Hello"); });
 .cart .btn_container .btn_cart .close_cart { opacity: 0.8; cursor: pointer; margin-left: 1rem; } .cart .btn_container .btn_cart .close_cart:before { content: ""; width: 20px; height: 20px; background-size: contain; background-position: center; background-repeat: no-repeat; background-image: url(../_img/close.png); position: absolute; top: 3.25px; right: 3px; transition: all 0.3s ease; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="cart"> <div class="btn_container"> <a class="btn_cart" title="Aaaaa" href="#"> Aaaaa <i class="close_cart">x</i> </a> </div> </div>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!