取消属性值的规范化-将基于骆驼的值转换为以短划线分隔的值
Denormalize an attribute value - Convert a camelcased value to dash-delimited value
我在angularjs中创建了一个指令。在link
中,我尝试使用attrs
获取属性。它们都被标准化为camelcasing形式。但我想把它们重新插入到其他元素中。所以我想将基于骆驼的值转换为以短划线分隔的值。即Denormalize
值。在angular js中有什么简单的方法可以做到这一点吗。
module.directive('myDirective', function(){
return {
'link': function(scope, element, attr, controller){
....
var newElement = jQuery("<div></div>");
for(var key in attr){
newElement.attr(attr[key]); // !newElement will not keep dashes in attribute
// i.e. dashes will be removed from attributes
}
}
};
});
我可以将以破折号分隔的值规范化为基于骆驼的值,但我应该怎么做才能取消规范化它们
因此,我的实际问题是在属性
attr
内部有$attr
。$attr
包含有关原始属性名称和规范化的信息,因此当您具有规范化的属性名称时,您可以通过attr.$attr[normalisedAttrName]
访问原始名称。
别忘了简单地检查
if (key.charAt(0) == '$' || attr.hasOwnProperty(key)) { continue; }
例如:
...
for(var key in attr){
newElement.attr(attr.$attr[key], attr[key]);
}
...
相关文章:
- 如何将逗号分隔的列表转换为<ul>列表
- JS将分隔符分隔的字符串转换为数组元素
- 将逗号分隔的字符串转换为 JavaScript 数组
- 在 Javascript 中将逗号分隔值转换为 JSON 对象
- 将JSON对象转换为javascript中的逗号分隔值
- Javascript字符串数组转换为用逗号分隔的多个字符串
- 将逗号分隔的对象转换为INT以进行计算
- 使用 join 将长日期的 JavaScript 数组转换为逗号分隔的短日期字符串
- 将逗号分隔字符串数组转换为不同的数组
- 将空格分隔的类列表转换为 Jquery 选择器的有效方法
- 如何将逗号分隔的 JSON 对象转换为对象
- 将逗号分隔列表转换为无序列表
- 如何将选定的星期几转换为 javascript 中的分隔整数
- 将带有分隔键的对象转换为嵌套对象
- jQuery:将逗号分隔的字符串转换为特定的JSON格式
- 使用jquery或javascript将逗号分隔的键和值字符串转换为对象
- 如何将下划线分隔的字符串转换为大写字符串
- 用一个巨大的字符串“”转换数组;数字”;,用逗号分隔成一个数字数组(而不是字符串)
- 以制表符分隔的文本文件转换为XML(Javascript或PHP)
- 用逗号分隔的属性转换为带下划线或长划线的实际属性