2011-12-21 23 views
10

Chciałbym zapytać, czy "legalne" jest dodawanie zmiennych niestandardowych do dokumentów elementów bryłowych. Na przykład:Dodawanie zmiennych do elementów DOM

document.getElementById('elem1').customVariable = 'xxx'; 

Ten kod po prostu pracować, ale nie wiem, czy to jest „dozwolony”

To nie pojawia się na liście argumentów tagu, ale zmienna jest użyteczny w dalszym kodzie ..

+1

YES SIR możesz – Ibu

+0

możliwe duplikat [Mogę dodać dowolne właściwości obiektów DOM?] (http://stackoverflow.com/questions/4258466/can-i-add-arbitrary- property-to-dom-objects) –

+1

http://stackoverflow.com/questions/7895560/javascript-dom-setting-custom-dom-element-properties to lepszy Q & A –

Odpowiedz

9

myślę, że będzie działać, ale bardziej popularnym sposobem, aby dodać atrybut niestandardowy jest tak:

<div id="elem1" data-customVariable="foo" 

A potem

document.getElementById('elem1').setAttribute("data-customVariable", "bar"); 

Lub jeśli starsza dławik przeglądarka na setAttribute

document.getElementById('elem1')["data-customVariable"] ="bar"; 

EDIT

Dzięki pimvdb za wskazanie, że można to zrobić również

document.getElementById('elem1').dataset.customVariable ="bar"; 

Wystarczy pamiętać, że” Będą musieli obserwować, jak to nazwiesz - obudowa wielbłąda może ją wyrzucić fa. Będziemy chcieli

<div id="elem1" data-custom-variable="xxx"></div> 
+0

Dziękuję :-) To teraz jasne –

+1

'elem .dataset.customVariable' jest również możliwe z atrybutami 'data-' - może być nieco czystsze. – pimvdb

+0

@pimvdb - bez żartów. W porządku, dziękuję - +1 –

Powiązane problemy