JavaScript 中 .attr() 的替代方法
alternative for .attr() in javascript
$(this).attr('id':'name', visibility:'hidden', fill:'black', stroke-width:2)
对 1000 元素使用此方法来设置其属性。一切正常,但是.attr()需要10ms才能执行,我需要优化它,.attr()还有其他选择吗?
提前致谢
尝试这样的东西,为了获得更好的性能,请使用setAttribute()。
setAttribute() 方法添加指定的属性,并为其指定值。
this.setAttribute("id","name");
this.style.visibility = 'hidden';
与其直接更改属性,为什么不向那些定义为具有所需属性的元素添加一个类呢?
我在这里进行了性能测试:http://jsperf.com/attr-vs-classsnameattr() 方法在我的浏览器/操作系统上慢了 33%。
方法如下:
JavaScript:
this.className = "custom-class";
this.id = 'name';
随附的 CSS:
.custom-class {
visiblity: hidden;
fill: black;
stroke-width: 2;
}
此外,attr() 调用中缺少括号,并且需要将带连字符的笔画宽度方法放在引号中,如下所示:
$(this).attr({id:'name', visibility:'hidden', fill:'black', 'stroke-width':2});
最快的替代方法是直接设置属性的相应属性。
this.id = 'name';
this.style.visibility = 'hidden';
http://jsperf.com/jquery-attr-vs-setattribute/2
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- .attr(“href”) 的问题!解决此问题的简单方法
- 使用 jQuery attr 方法
- 使用jQuery.attr()方法获取元素属性
- 为什么.attr()方法在jQuery 1.9中不起作用
- JavaScript 中 .attr() 的替代方法
- 如何在 jquery attr() 方法中使用 “javascript:window.location.href” 的
- 将对象设置为jquery中attr()方法的值
- Java 脚本中的 getAttribute(attr) 方法返回属性的先前值
- 我应该使用哪个方法(.attr() vs .prop())的性能和使用
- jQuery .attr()方法XSS安全吗?
- 对象在设置attr('checked');后检查复选框是否被选中时,在IE8中不支持此属性或方法
- D3选择.attr,.property等setter方法'值未定义时的行为
- jQuery attr()不支持'replace'属性或方法
- 使用.attr()方法的JavaScript开关语句的行为
- 在jQuery中添加属性时,使用attr()方法,将属性作为键值对象传递,还是直接传递,哪种方法执行速度最快?
- 在Backbone.js中重写Model.get(attr)的最好方法是什么?
- Jquery的attr()方法不工作,但javascript版本可以
- Jquery:有没有其他方法可以写这个,也许可以使用.attr