Получение родственного значения ключа в литерале объекта JavaScript

Кто-нибудь знает, как можно сослаться на значение родственного ключа в литерале объекта JavaScript?

поэтому используйте значение target в функции beforeNext() здесь:

obj: {
        target: 'li.player a.icon-tag',
        parent: 'ul#drop_list',
        beforeNext: function(){
          target.addClass('bind active');
        }
      }

person James    schedule 20.06.2013    source источник
comment
Вы пробовали this.target?   -  person crush    schedule 20.06.2013


Ответы (2)


Это не объект «JSON», а объект JavaScript (или просто «объект»). Я предполагаю, что это также содержится в литерале объекта, поскольку obj: { сам по себе является недопустимым синтаксисом.

В любом случае, да, вы можете ссылаться на свойства объекта в методах с помощью this.

beforeNext: function () {
    this.target;
}

http://jsfiddle.net/ExplosionPIlls/Q9v8r/

person Explosion Pills    schedule 20.06.2013
comment
@James Не забудьте превратить его в объект jQuery, так как в настоящее время он не хранится как один. - person crush; 20.06.2013
comment
@crush Спасибо, ребята, полный объект здесь: options = { steps: [ { target: 'li.player.playing .share-btns a.icon-tag', parent: 'ul#drop_list', ok:true, beforeNext: function(){ this.target.addClass('blink active'); $("a.icon-tag").bind('click', function() { tour.finish(); }); } } ] };, поэтому options — это объект с массивом steps, который содержит несколько объектов. this.target не работает, есть идеи почему? - person James; 20.06.2013
comment
@James target — это просто строка; попробуй $(this.target).addClass как предложил раздавить - person Explosion Pills; 20.06.2013

Если вы имеете дело с простым JavaScript:

var cartoon = {"george jetson":{"son":"elroy","daughter":"judy"} }

Используйте конструктор объектов для преобразования строки в объект:

cartoon["george jetson"].son = Object(cartoon["george jetson"].son)

Затем привяжите родственное значение:

cartoon["george jetson"].son.sister = cartoon["george jetson"].daughter

И используйте toString, чтобы получить исходное значение:

cartoon["george jetson"].son.toString()

ссылки

person Paul Sweatte    schedule 12.03.2014