2015-08-23 2 views
0

Я пытаюсь присвоить ссылку на элемент DOM в собственность при объявлении объекта, но это не будет работать так:добавляя опорный элемент в качестве свойства объекта в JS

var myMedia = { 
"v" : document.getElementById("video"), 
"a" : document.getElementById("audio"), 
"g" : "myMediaGroup", 
}; 

... Mymedia .v возвращает null, но если я назначу его следующим образом:

myMedia.v = document.getElementById("video"); 

... он отлично работает.

Использование объектного литерала, могу ли я назначать строки только свойствам? Как я мог сделать это по-другому?

+4

Вы уверены, что ваша DOM загружается при определении объектного литерала? – Xufox

+0

Не помещайте запятую после последнего элемента инициализатора объекта: '' g ":" myMediaGroup "' – rplantiko

+0

@rplantiko Нет проблем с наличием конечных запятых в объекте litteral или Array. Фактически, это помогает предотвратить ошибки при добавлении новых свойств/элементов позже. http://ecma262-5.com/ELS5_HTML.htm#Section_11.1.5 – blex

ответ

0

Мой плохой. Тег скрипта находился в начале документа, а не под аудио- и видео тегами. Он просто не мог найти элементы: P