2017-02-22 33 views
0

Любопытно, как я могу создать селектор jQuery, чтобы захватить номер выручки из этого кода. Любая помощь будет оценена по достоинству.Создание селектора jQuery

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

jQuery работает с элементами HTML, но это функция, которая работает с объектом JavaScript. Просьба уточнить. – David

+0

Селектор jQuery искал html DOM для указанных элементов. Вы не можете выбрать параметр из JS-функции. – empiric

+0

Это было мое понимание, а также эмирское. Я все еще немного начинаю с JS и думал, что, возможно, я пропустил какой-то способ захватить данные из того, что было доступно в коде. Думаю, мне просто нужно оттолкнуться от этого. – Ethan

ответ

0

Вы используете массив с доходом в качестве аргумента для функции, так предположительно у вас есть доступ к нему за пределами функции? В этом случае я бы определил его так:

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

И тогда доступ к нему просто так:

var revenue = info.revenue; 

Имейте в виду, что это все основные JavaScript. Если информация находится в формате JSON, вы захотите использовать JSON.parse() для создания JavaScript-кода, поскольку JSON обычно передается как строка и преобразуется на обоих концах в объекты на соответствующих языках.

Способ, которым вы его написали, однако, не является стандартным способом написания пар ключ-значение в JavaScript или JSON.

+0

Спасибо за ответ Люк. К сожалению, у меня нет контроля над тем, как написан текущий код. Лично мне приходится пытаться извлекать данные о доходах через систему управления тегами, поэтому я довольно ограничен. Если посмотреть на исходный код страницы, нет никакой переменной для дохода. Мне интересно, сохраняется ли эта информация через систему управления тегами, и поэтому я не могу найти никаких других объектов дохода в источнике. Поскольку это не указано в качестве стандарта, я должен просто уйти в отставку, сказав, что это невозможно, если клиент не может передать информацию как стандартный DataLayer? – Ethan

+0

К сожалению, Этан, я думаю, ты застрял. Теперь я говорю об этом с относительно умеренным опытом работы с JS и jquery, но если вы можете найти путь к информации, передаваемой в функцию ga(), тогда вы сможете получить доступ к ней изнутри? Если вы можете видеть, где информация идет, когда она передается через функцию, вы можете ее захватить изнутри, если это имеет смысл? – Luke

+0

Сделал еще несколько копаний и массив на самом деле javascript в конце концов - мой плохой. У вас есть возможность писать код в функции ga()? Если это так, вы можете использовать аргументы.length для доступа к ним, аналогичным массиву, и это покажет вам, сколько аргументов функция имеет в качестве теста. Если это сработает, ваш параметр «info» будет аргументом [2], и я предполагаю, что доступ к ключу дохода будет таким же простым, как аргументы [2] .revenue? Извините, я не мог больше помочь. – Luke

 Смежные вопросы

  • Нет связанных вопросов^_^