Javascript / jQuery verstecken, wenn html gleich 0 ist

Lesezeit: 2 Minuten

Ich habe diese Seite gebaut www.piano-warehouse.co.uk/category/upright-pianos/ mit WordPress und haben ein Plugin verwendet, um den gesparten Geldbetrag zu berechnen, wenn ein Rabatt auf ein Produkt gewährt wurde. Ich möchte das Setup so ändern, dass, wenn kein Rabatt angewendet wurde und kein Betrag gespart wurde, der Abschnitt Sie sparen ausgeblendet wird. Ich nehme an, dass Javascript oder jQuery das Ticket sein werden, aber ich habe ein sehr elementares Verständnis dieser Sprachen und würde mich sehr über jede Hilfe beim Erstellen dieser Abfrage freuen.

Bisher habe ich versucht, dies ohne Freude zu meiner Funktionsdatei hinzuzufügen

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

  • enthalten auch html

    – Guradio

    9. Mai 2016 um 9:02 Uhr

  • Und ich vermute die "span.yousave_list_price" soll auch versteckt werden?!

    – A. Wolff

    9. Mai 2016 um 9:03 Uhr


  • Sie sollten vielleicht ein Div verstecken, anstatt 1+ Span(s). Bitte zeigen Sie Ihre HTML-Datei

    – Zufällig

    9. Mai 2016 um 9:07 Uhr


  • Wie funktioniert “HTML gleich 0”?

    – evolutionbox

    9. Mai 2016 um 9:07 Uhr

Aus dem Link kann ich sehen, ob $("span.yousave_list_price") enthält ein weiteres DOM-Element

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

Wenn Sie also versuchen, dies zu verbergen span.yousave_list_price Sie müssen möglicherweise so vorgehen

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()
}
})

JSFIDDLE

Sie müssen sicherstellen, dass die Seite bereit ist, wenn Sie diese Funktion aufrufen

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

Benutzer-Avatar
Ghulam Ali

Ich habe Ihre Website überprüft, span.yousave_list_price ist das nächste Element von span.yousave_list, und ich bin sicher, Sie wollten nicht alle span.yousave_list von 0 ausblenden. Sondern nur diejenigen, die span.yousave_list_price enthalten. Also werden wir alle span.yousave_list_price auswählen -> prüfen, ob der Text 0 ist -> dann wählen wir seinen Elternteil aus und -> innerhalb des Elternteils verstecken wir die 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
        }
    });
}

Wenn Sie diese Funktion beim Laden der Seite ausführen, müssen Sie sie innerhalb aufrufen $(document).ready(function(){...}

1185900cookie-checkJavascript / jQuery verstecken, wenn html gleich 0 ist

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy