【问题标题】:Set/Get element custom element properties设置/获取元素自定义元素属性
【发布时间】:2014-01-28 14:27:13
【问题描述】:

我正在尝试向现有元素添加自定义属性,但我发现这是不可能的。

我的元素有一个属性映射,但没有属性映射。

我试着做这样的事情:

el.someProperty = 'Some value';

但是这一行产生了一个错误,el 没有 get$someProperty。

我想做一些类似于 jQuery 的东西,你可以直接使用

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

谢谢。

【问题讨论】:

    标签: dart dart-html


    【解决方案1】:

    使用

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

    如果这不起作用,请使用

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

    这样添加的属性将获得一个data 前缀,并且可能命名为data-some-property(尚未测试)

    【讨论】:

    • 那么我猜你必须使用dataset 而不是attributes。如果要分配给 Polymer 元素,可以el.someProperty = 'value'(el as MyElement).someProperty = 'value'
    • 设置el.dataset['someProperty'] = 'Some value' 会创建一个名为data-someProperty属性。执行$(el).prop('someProperty', 'Some value') 不会创建属性,而是向el 对象添加一个字段,这就是提问者所说的他们正在尝试执行但出错的操作。
    • @Louis 感谢您的澄清。 Dart 不支持动态添加字段。添加属性是最接近的方法。
    • 我的错。 Dart 将 DOM 隐藏得如此彻底,以至于 el.attributes["foo"] = "blah" 可以工作。
    猜你喜欢
    • 1970-01-01
    • 2020-12-13
    • 2019-05-24
    • 2021-11-21
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多