我正在尝试从这样的指令向 angularJs 元素添加属性:
element.attr('startOffset', val);
但是当我检查该元素时,添加的属性是“startoffset”,其中“o”不是大写字母。
有什么方法可以向元素添加属性并保持单词大小写不变吗?
Thanks
如果使用 jqliteWrapper 设置属性.attr
甚至直接 DOM 操作.setAttribute
在附加到元素之前,它将小写属性名称。
当对 HTML 文档中的 HTML 元素调用时,setAttribute 将其属性名称参数小写。
由于您使用的是 SVG,请尝试直接操作setAttribute https://developer.mozilla.org/en-US/docs/Web/API/Element.setAttribute,但是设置属性会保留它们与 SVG 的大小写,不确定 jquery 是否在内部进行任何转换。
element[0].setAttribute('startOffset', val);
Plnkr http://plnkr.co/edit/aD25PX?p=preview
确认它是 Angular 之前的 jquery 包含,导致它在设置时不保留属性名称大小写.attr
,但是如果您不包含 jquery 并且 Angular 回退到 jqLite ,它将按原样设置属性名称,这样就可以工作(以及attrs.$set
)与 SVG 以及直接 DOM 操作之外。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)