2011-12-21 46 views
10

Tôi muốn hỏi, nếu là 'hợp pháp' để thêm biến tùy chỉnh để ghi lại các phần tử nội dung. Ví dụ:Thêm biến vào các phần tử DOM

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

Mã này chỉ làm việc, nhưng tôi không biết nếu nó là 'cho phép'

Nó không xuất hiện trong danh sách các đối số thẻ, nhưng biến là có thể sử dụng trong mã hơn nữa ..

+1

Có thưa ông bạn có thể – Ibu

+0

thể trùng lặp của [Tôi có thể thêm các thuộc tính tùy ý để đối tượng DOM?] (Http://stackoverflow.com/questions/4258466/can-i-add-arbitrary- thuộc tính-đối-dom-đối tượng) –

+1

http://stackoverflow.com/questions/7895560/javascript-dom-setting-custom-dom-element-properties là một câu hỏi hay hơn –

Trả lời

9

tôi nghĩ rằng sẽ làm việc, nhưng cách phổ biến hơn để thêm thuộc tính tùy chỉnh là như thế này:

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

Và sau đó

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

Hoặc nếu sặc trình duyệt cũ trên setAttribute

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

EDIT

Nhờ pimvdb để chỉ ra rằng bạn cũng có thể làm

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

Chỉ cần lưu ý rằng bạn' sẽ phải xem cách bạn đặt tên này - vỏ lạc đà có thể ném nó f. Bạn sẽ muốn

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

Cảm ơn bạn :-) Bây giờ là rõ ràng –

+1

'elem .dataset.customVariable' cũng có thể có với các thuộc tính 'data-' - có thể là một chút sạch hơn. – pimvdb

+0

@pimvdb - không đùa. Thật tuyệt vời, cảm ơn bạn - +1 –

Các vấn đề liên quan