javascript / jQuery ocultar si html es igual a 0

2 minutos de lectura

He construido este sitio www.piano-warehouse.co.uk/category/upright-pianos/ usando WordPress y he utilizado un complemento para calcular la cantidad de dinero ahorrado si se ha aplicado un descuento a un producto. Me gustaría modificar la configuración para que, si no se ha aplicado ningún descuento y no haya una cantidad guardada, oculte la sección de ahorro. Supongo que javascript o jQuery serán el boleto, sin embargo, tengo una comprensión muy básica de estos idiomas y realmente agradecería cualquier ayuda para construir esta consulta.

Hasta ahora he intentado agregar esto a mi archivo de funciones sin alegría

function you_save_hide () {
    if ($("span.yousave_list_price").text() == "0") {
        $("span.yousave_list").hide();
    }
}

  • incluir html también

    – guradio

    9 de mayo de 2016 a las 9:02

  • Y supongo que el "span.yousave_list_price" ¿Debería estar escondido también?

    – A. Wolff

    9 de mayo de 2016 a las 9:03


  • Tal vez debería ocultar un div, en lugar de 1+ lapso(s). Por favor muestra tu html

    – Aleatorio

    9 de mayo de 2016 a las 9:07


  • ¿Cómo “HTML es igual a 0”?

    – evoluciónxbox

    9 de mayo de 2016 a las 9:07

Desde el enlace puedo ver si $("span.yousave_list_price") contiene otro elemento DOM

<span class="yousave_list_price">
<span class="amount">Some Value</span>
</span>

Entonces, si está buscando ocultar esto span.yousave_list_price puede que tengas que hacer así

var _getAmountList = $('.amount');
_getAmountList.each(function(){
// equalizing with £0 just for demo
// You can use regex with fine tune it.
if($(this).text().trim() ==="£0"){ 
  $(this).parent().hide()
}
})

JSFDDLE

debe asegurarse de que la página esté lista cuando llame a esta función

$(document).ready(function(){
    you_save_hide();
});

avatar de usuario
Ghulam Alí

Revisé su sitio web, span.yousave_list_price es el siguiente elemento de span.yousave_list y estoy seguro de que no deseaba ocultar todo el span.yousave_list de 0. Pero solo aquellos que tienen span.yousave_list_price. Así que seleccionaremos todo el span.yousave_list_price -> verificar si el texto es 0 -> luego seleccionamos su padre y -> dentro del padre ocultamos el span.yousave_list.

function you_save_hide () {
    $("span.yousave_list_price").each(function(){
        if ($(this).text().trim() == "0"){
            $(this).parent().closest("span.yousave_list").hide(); //hide the nearest .yousave_list when the yousave_list_price equals 0
        }
    });
}

si está ejecutando esta función en la carga de la página, asegúrese de llamarla dentro $(document).ready(function(){...}

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad