2017-02-22 5 views
0

Neugierig, wie ich einen jQuery-Selektor erstellen könnte, um die Umsatznummer aus diesem Code herauszuholen. Jede Hilfe wäre willkommen.Erstellen eines jQuery-Selektors

<script> 
ga('ec:setAction', 'purchase', { 
    'id': '12457', 
    'revenue': '10.75', 
    'tax': '0.76', 
    'shipping': '0.00' 
}); 
</script> 
+2

jQuery arbeitet mit HTML-Elementen, aber das ist eine Funktion, die auf einem JavaScript-Objekt ausgeführt wird. Bitte klären Sie. – David

+0

Ein jQuery-Selektor durchsucht das HTML-DOM nach den angegebenen Elementen. Sie können keinen Parameter aus einer JS-Funktion auswählen. – empiric

+0

Das war mein Verständnis auch episch. Ich bin immer noch ein wenig Neuling mit JS und dachte, ich könnte einen Weg verpassen, um die Daten von dem zu bekommen, was im Code verfügbar war. Ich denke, ich muss nur auf diese zurücktreten. – Ethan

Antwort

0

Sie verwenden außerhalb der Funktion, die das Array mit Einnahmen als Argument für die Funktion so vermutlich haben Sie Zugriff darauf? In diesem Fall würde ich es wie folgt definieren:

var info = { 
    id: '12457', 
    revenue: '10.75', 
    tax: '0.76', 
    shipping: '0.00' 
}; 

und greifen Sie dann einfach so:

var revenue = info.revenue; 

Denken Sie daran, dies ist alles grundlegende JavaScript. Wenn die Informationen im JSON-Format vorliegen, möchten Sie JSON.parse() verwenden, um das JavaScript-Objekt zu erstellen, da JSON normalerweise als Zeichenfolge übergeben und an beiden Enden in Objekte in den jeweiligen Sprachen konvertiert wird.

Die Art, wie Sie es geschrieben haben, ist jedoch keine Standardmethode zum Schreiben von Schlüssel/Wert-Paaren in JavaScript oder JSON.

+0

Danke für die Antwort Luke. Leider habe ich keine Kontrolle darüber, wie der aktuelle Code geschrieben wird. Persönlich muss ich versuchen, Umsatzdaten durch ein Tag-Management-System zu ziehen, so dass ich ziemlich begrenzt bin. Mit Blick auf den Quellcode für die Seite gibt es keine Variable für den Umsatz. Ich frage mich, ob diese Informationen über ein Tag-Management-System gespeichert werden, und deshalb kann ich keine anderen Ertragsobjekte in der Quelle finden. Da dies nicht als Standard geschrieben ist, sollte ich nur sagen, dies ist nicht möglich, es sei denn, der Kunde kann die Informationen als Standard DataLayer übergeben? – Ethan

+0

Traurig Ethan Ich denke, du bist festgefahren. Nun, ich sage das mit relativ moderater Erfahrung mit JS und JQuery, aber wenn Sie einen Weg zu der Information finden können, wie sie in die ga() Funktion übergeben wird, dann können Sie vielleicht von dort auf sie zugreifen? Wenn Sie sehen können, wohin die Informationen gehen, sobald sie die Funktion durchlaufen haben, können Sie sie möglicherweise von innen heraus erfassen, wenn das Sinn macht? – Luke

+0

Habe etwas mehr graben und das Array ist eigentlich Javascript - mein schlechtes. Haben Sie die Möglichkeit, Code innerhalb der Funktion ga() zu schreiben? Wenn dies der Fall ist, können Sie arguments.length verwenden, um auf sie ähnlich wie ein Array zuzugreifen. Dadurch erfahren Sie, wie viele Argumente die Funktion als Test hat. Wenn das funktioniert, wäre Ihr "info" -Parameter Argumente [2] und ich würde mir vorstellen, dass der Zugriff auf den Erlösschlüssel so einfach wäre wie Argumente [2]. Tut mir leid, ich könnte nicht mehr helfen. – Luke