2016-06-08 13 views
0

So habe ich dies:Hide/Entfernen String mit jQuery

jQuery('.amount').each(function() { 
    console.log(jQuery(this).text()); 
    var text = jQuery(this).text().replace("Gratuit !", " "); 
    jQuery(this).text(text); 
}); 

Es arbeitet mit einem anderen Element in Ordnung, aber nicht diese. Die Konsole gibt die richtigen Zahlen anderer Strings zurück, kann aber nicht die Nummer von "Gratuit!" Strings, die in einem Modal sind, aber auch die anderen Strings.

http://www.taomedecine.com/#seminaires
Es ist auf der Schnellansicht der "Chrono Accupuncture" -Produkt.

+0

"Chrono accupuncture" Produkt scheint nicht, dass Tag zu haben ' – Filipe

+0

.amount' Es tut. Es ist die Klasse der Spanne, die den Produktpreis im Modal enthält. – Zac

Antwort

1

Dies ist, weil Sie diese Funktion vor die .amount Elemente sind Aufruf auf der Seite vorhanden sind. Ihr Modal lädt wahrscheinlich seinen Inhalt (enthält die .amount Elemente) asynchron.

Wenn Sie an der Konsole aussehen, wenn Sie die Seite, die Sie zu verknüpfen laden, können Sie sehen es nicht console.log() alles von:

console.log(jQuery(this).text()); 

, dass Sie einen Anhaltspunkt gibt, dass die .each(), Schleifen Artikel.

Daher sollten Sie die Funktion aufrufen, die Sie erwähnen nach der Modellinhalt geladen wurde, in seiner Callback-Funktion vorausgesetzt, es ist eine zur Verfügung stellt.

+0

Das Ding ist es Schleife die "5,00 €" Elemente mit dem .amount Selektor und dieser Preis ist auch in der Modalität. Deshalb bin ich verwirrt. Es funktioniert nicht nur mit dieser Zeichenfolge. – Zac

+0

Sie sind bereits auf der Seite vorhanden, wenn sie geladen wird. Wenn Sie die Quelle auf der Seite anzeigen und nach class = "amount" suchen, werden nur diese angezeigt. Es hat nicht die Zeichenfolge 'Gratuit!' irgendwo auf der Seite. – JohnnyFaldo

+0

Verdammt, du hast Recht. Ich fürchte, ich kann nicht einfach den Woocommerce Plugin-Code im Falle einer Aktualisierung durch den Kunden bearbeiten. Es würde die Funktion löschen. – Zac