设置/获取动态自定义属性
set/get dynamically custom attribute
除了ie族,大多数现代浏览器都支持动态设置/检索自定义属性。如何在所有浏览器中设置/获取自定义属性?
这是我到目前为止所尝试的:
HTML:<input id="myInput" type="text" />
JS:
var myInput = document.getElementById('myInput');
myInput.setAttribute('custom-attr', 'custom-value');
alert(myInput.getAttribute('custom-attr'));
或
var myInput = document.getElementById('myInput');
var customAttr = document.createAttribute('custom-attr');
customAttr.value = 'custom-value';
myInput.setAttributeNode(customAttr);
alert(myInput.getAttribute('custom-attr'));
在这两种情况下IE alert()
返回null
我在IE7/8上测试了你的代码
var myInput = document.getElementById('myInput');
myInput.setAttribute('custom-attr', 'custom-value');
alert(myInput.getAttribute('custom-attr'));
,它运行良好。这个简单的测试用例对您来说失败了吗,还是您实际上在做一些不同的事情?
可以使用括号符号
var myInput = document.getElementById('myInput');
myInput['custom-attr'] = 'custom-value';
alert(myInput['custom-attr']);
如果名称中没有-
,可以使用点表示法
var myInput = document.getElementById('myInput');
myInput.customAttr = 'custom-value';
alert(myInput.customAttr);
您的代码在IE6, IE7, IE8, FF, Chrome, Opera上运行良好
相关文章:
- 设置自动分隔符的自定义属性
- 与ng attr myCustomAttribute匹配的自定义属性指令
- 获取自定义属性的值
- 如何创建自定义属性以添加if.bind
- 动态更新Angular2指令中自定义属性的值
- 使用jQuery更改输入字段的自定义属性
- 在 Javascript 生成的列表中,如何将自定义属性添加到 标记
- 设置 HTML 自定义属性与在 ID 属性中存储信息
- 是否可以在 Polymer 中的
节点上使用自定义属性以获得漂亮的 API - 为什么克隆节点排除自定义属性
- 将自定义属性添加到 vuejs 组件
- Popover自定义属性数据的动态更新问题
- 将动态创建的下拉列表的自定义属性值添加到另一个元素
- querySelectorAll找不到具有自定义属性的动态添加元素
- jQuery.data 和动态更改的 HTML5 自定义属性
- 如何添加自定义属性动态选择选项,以及如何获取它使用javascript或dojo
- 为动态生成的JS函数分配自定义属性
- 设置/获取动态自定义属性
- 如何使用动态名称创建Angular 2自定义属性指令
- 如何根据自定义属性对动态创建的元素进行排序