Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 04.08.2015, 11:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

ligisayan,
variations_form это у вас обычный массив и обращаться к элементам можно по индексу -- а вот уже сам элемент
variations_form[0] ... или variations_form[2] обьект и в нём идёт обращение по ключам
Сообщение от ligisayan
'[', если 1 - то второй '{', 2 - 3ий '"' и т.д.
- да

самая длинная цепочка будет для примера
variations_form[2]["attributes"]["attribute_pa_size"]
variations_form - массив выбираем по индексу
variations_form[2] - обьект выбираем по ключу
variations_form[2]["attributes"] - снова обьект выбираем по ключу, был бы attributes обычный массив выбирали бы по индексу

Последний раз редактировалось рони, 04.08.2015 в 11:51.
Ответить с цитированием
  #12 (permalink)  
Старый 04.08.2015, 12:29
Кандидат Javascript-наук
Отправить личное сообщение для ligisayan Посмотреть профиль Найти все сообщения от ligisayan
 
Регистрация: 19.06.2015
Сообщений: 114

Сообщение от рони Посмотреть сообщение
ligisayan,
variations_form это у вас обычный массив и обращаться к элементам можно по индексу -- а вот уже сам элемент
variations_form[0] ... или variations_form[2] обьект и в нём идёт обращение по ключам
- да

самая длинная цепочка будет для примера
variations_form[2]["attributes"]["attribute_pa_size"]
variations_form - массив выбираем по индексу
variations_form[2] - обьект выбираем по ключу
variations_form[2]["attributes"] - снова обьект выбираем по ключу, был бы attributes обычный массив выбирали бы по индексу
нет, рони - для начала нужно было распарсить json
var variationsFormParsed = JSON.parse(variations_form);

и тогда уже можно обращаться к:
console.log(variationsFormParsed[0]['price_html']);
Ответить с цитированием
  #13 (permalink)  
Старый 04.08.2015, 12:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от ligisayan
нет, рони - для начала нужно было распарсить json
абалдеть!!!
Ответить с цитированием
  #14 (permalink)  
Старый 04.08.2015, 13:50
Кандидат Javascript-наук
Отправить личное сообщение для ligisayan Посмотреть профиль Найти все сообщения от ligisayan
 
Регистрация: 19.06.2015
Сообщений: 114

Сообщение от рони Посмотреть сообщение
абалдеть!!!
рони А можно как-то вытянуть из
console.log(variations_form[0]['price_html']);

который равен:
<span class="price"><span class="amount">260.000 руб.</span></span>
класс price чтобы можно было поменять его стили?
Ответить с цитированием
  #15 (permalink)  
Старый 04.08.2015, 18:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от ligisayan
класс price чтобы можно было поменять его стили?
непонятный вопрос -- что вам мешает добавить нужный css?
Ответить с цитированием
  #16 (permalink)  
Старый 04.08.2015, 18:22
Кандидат Javascript-наук
Отправить личное сообщение для ligisayan Посмотреть профиль Найти все сообщения от ligisayan
 
Регистрация: 19.06.2015
Сообщений: 114

Сообщение от рони Посмотреть сообщение
непонятный вопрос -- что вам мешает добавить нужный css?
var $oj = variations_form[0]['price_html'];
$($oj).filter(".price").css("top" , (height+32)+"px");
$($oj).filter(".price").html().replace(/(new price)/, "$1");


рони а каким образом? выше 2 варианта не работают..
Ответить с цитированием
  #17 (permalink)  
Старый 04.08.2015, 18:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

ligisayan,
а где добавление на страницу ? или вам нужно в текст добавить?
Ответить с цитированием
  #18 (permalink)  
Старый 04.08.2015, 18:28
Кандидат Javascript-наук
Отправить личное сообщение для ligisayan Посмотреть профиль Найти все сообщения от ligisayan
 
Регистрация: 19.06.2015
Сообщений: 114

Сообщение от рони Посмотреть сообщение
ligisayan,
а где добавление на страницу ? или вам нужно в текст добавить?
что именно добавление - класса price? так он есть - мне нужно его стили просто поправить. достаточно и в текст добавить стили
Ответить с цитированием
  #19 (permalink)  
Старый 04.08.2015, 18:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

ligisayan,
зачем это делать мне непонятно - есть же css на странице меняйте там стили и сервер меняйте там классы.

или уж создайте элемент на странице и украшивайте как хотите.
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title> <meta charset="utf-8">
</head>

<body>
<script>
  var variations_form =   [{
    "variation_id": 3354,
    "variation_is_visible": true,
    "variation_is_active": true,
    "is_purchasable": true,
    "display_price": 260000,
    "display_regular_price": 260000,
    "attributes": {
        "attribute_pa_size": "large"
    },
    "image_src": "",
    "image_link": "",
    "image_title": "",
    "image_alt": "",
    "price_html": "<span class=\"price\"><span class=\"amount\">260.000 руб.<\/span><\/span>",
    "availability_html": "",
    "sku": "",
    "weight": " kg",
    "dimensions": "",
    "min_qty": 1,
    "max_qty": "",
    "backorders_allowed": false,
    "is_in_stock": true,
    "is_downloadable": false,
    "is_virtual": false,
    "is_sold_individually": "no"
}, {
    "variation_id": 3355,
    "variation_is_visible": true,
    "variation_is_active": true,
    "is_purchasable": true,
    "display_price": 160000,
    "display_regular_price": 160000,
    "attributes": {
        "attribute_pa_size": "medium"
    },
    "image_src": "",
    "image_link": "",
    "image_title": "",
    "image_alt": "",
    "price_html": "<span class=\"price\"><span class=\"amount\">160.000 руб.<\/span><\/span>",
    "availability_html": "",
    "sku": "",
    "weight": " kg",
    "dimensions": "",
    "min_qty": 1,
    "max_qty": "",
    "backorders_allowed": false,
    "is_in_stock": true,
    "is_downloadable": false,
    "is_virtual": false,
    "is_sold_individually": "no"
}, {
    "variation_id": 3356,
    "variation_is_visible": true,
    "variation_is_active": true,
    "is_purchasable": true,
    "display_price": 80000,
    "display_regular_price": 80000,
    "attributes": {
        "attribute_pa_size": "small"
    },
    "image_src": "",
    "image_link": "",
    "image_title": "",
    "image_alt": "",
    "price_html": "<span class=\"price\"><span class=\"amount\">80.000 руб.<\/span><\/span>",
    "availability_html": "",
    "sku": "",
    "weight": " kg",
    "dimensions": "",
    "min_qty": 1,
    "max_qty": "",
    "backorders_allowed": false,
    "is_in_stock": true,
    "is_downloadable": false,
    "is_virtual": false,
    "is_sold_individually": "no"
}]

</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
       var s = variations_form[2]['price_html'], height = 100;
      s = $('<div/>', {html : s});
      s.find('.price').addClass("new").css({"top": (height+32)+"px"});
      variations_form[2]['price_html'] =  s.html()
      alert(variations_form[2]['price_html'])
});
 </script>


</body>

</html>

Последний раз редактировалось рони, 04.08.2015 в 18:44.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить результат работы цикла в виде массива. Tungus Общие вопросы Javascript 29 08.12.2014 19:33
Как получить значение GET параметра user_name Events/DOM/Window 24 03.12.2014 18:12
Как получить свойсвто объекта? Armen Общие вопросы Javascript 4 19.10.2014 06:45
Видимость переменной при асинхронном запросе. Как передать и получить значение? Stroganov Ilya Общие вопросы Javascript 10 17.10.2014 17:33
Как получить значение title с помощью js? faforty Общие вопросы Javascript 4 25.08.2011 18:47