2014-01-28 70 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中不支持动态添加字段。添加属性是最接近的属性。 –