如何管理HTML元素属性,最佳实践
How to manage HTML elements attributes, best practice
在性能方面设置/获取属性的最佳方法是什么:
var div = document.getElementById('someId');
//Setting Attributes
div.setAttribute('class', 'myClass');
div.attributes.class.value = 'myClass';
div.className = "myClass";
//Getting Attributes Values
console.log(div.getAttribute('class'));
console.log(div.attributes.class.value);
console.log(div.className);
//Checking Attribute Existance
if (div.attributes.hasOwnProperty('class')) ..;
if (!div.className) ..;
也使用html5数据集设置自定义data-*
属性的好主意?这些属性的值是否必须总是字符串,或者我可以使用其他类型的值,如对象和数组?
先读后写,绝不混用。这会导致重新油漆。关于这个问题有一篇很好的文章:wilsonpage.co。英国/preventing-layout-thrashing
关于自定义属性,您可以添加很多,据我所知它不会损害性能。它们的值只有text
,但是您可以使用JSON.parse
和JSON.stringify
来解码和编码要存储在自定义属性中的数组或对象;
我个人喜欢自定义属性的语义,以及它们如何在附加信息方面扩展DOM元素。对于非常基本的东西,它是数据和DOM之间更好的链接。例如,创建一个链接,应该打开一些模态窗口。你可以在链接本身的data属性中,添加关于应该从该链接打开的模态窗口的附加信息,就在触发该窗口的链接的顶部。它非常方便,而且用途广泛。
相关文章:
- 什么'是使输入上禁用的属性与Meteor辅助对象反应的最佳方法
- 检查链接对象形式中未定义属性的最佳实践是什么
- BackboneJS重新排列集合中模型的最佳方式,同时为每个模型维护0索引的有序属性
- 复制元素的最佳方式是:只复制元素的类型和属性
- 扩展或定义新的dat.gui属性控制器的最佳方法
- 使用方法和属性定义javascript对象的最佳方法是什么?(如果可能以本机方式)
- 通用化用于切换禁用属性的代码的最佳方法
- JavaScript 中通过公共属性“交叉”两个 JSON 对象数组的最佳方式
- 添加属性/方法的明确最佳方法
- 使用 Angular JS 动态更新 jQuery UI 属性的最佳方法
- 关于在 Vue.js 中设置数据对象属性的最佳实践
- 在 JavaScript 对象文本中组织方法和属性的最佳方式
- 执行属性别名的最佳方法
- 在 IE8 中为对象中的每个属性添加附加属性的最佳方法是什么?
- jQuery中根据其数据属性包装元素的最佳方法是什么?
- 使用 javascript 实现属性-值搜索界面的最佳方法
- EmberJS:基于另一个属性重新加载控制器模型的最佳方法
- 使用jQuery命名属性的最佳模式
- 在ReactJS中重用映射循环中的属性-最佳实践
- JSON属性最佳实践