2014-01-28 65 views
1

我想通過我發現不可能將自定義屬性添加到現有元素。設置/獲取元素自定義元素屬性

有一個我的元素屬性的地圖,但沒有屬性地圖。

我試圖做這樣的事情:

el.someProperty = 'Some value'; 

但該生產線生產的錯誤EL沒有得到$ someProperty。

我願做類似jQuery的東西,你可以只使用

el.prop('propName', 'value'); 

感謝。

回答

3

使用

el.attributes['someProperty'] = 'Some value'; 

如果不行使用

el.dataset['someProperty'] = 'Some value'; 

這種方式添加的屬性會得到一個data前綴,可能命名爲data-some-property(沒有測試)

+0

然後我想你必須使用'dataset'而不是'attributes'。如果你想分配一個Polymer元素,你可以'el.someProperty ='value''或者'(el as MyElement).someProperty ='value'' –

+0

設置el.dataset ['someProperty'] ='某個值'''創建一個名爲''data-someProperty''的*屬性*。做'$(el).prop('someProperty','Some value')''不會創建一個屬性,但會向el的對象添加一個字段,這是提問者說他​​們正在嘗試做的事情但有一個錯誤。 – Louis

+0

@Louis感謝您的澄清。在Dart中不支持動態添加字段。添加屬性是最接近的屬性。 –