可能重复: JavaScript setAttribute vs .attribute= javascript,如何处理“特殊属性”作为相对属性?
很多时候,在论坛或像Usenet这样的地方,我被一些人(当批评我的代码时)告诉我,我不应该说,例如var link = a.href,我应该使用var link = a.getAttribute('href');。并在想要分配时使用它的互补setAttribute()。
他们说这是正确的方法,我错了,等等.我通常不注意这些。当我问为什么没有人给出真正的答案时。
现在我很好奇在哪种情况下使用这种或那种更合适。
在什么情况下更适合说var link = a.getAttribute('href');而不是var link = a.href
在什么情况下,我应该使用setAttribute()来赋值,而不是通过标识符直接分配值给成员呢?即:`a.href =“某某网址”;
发布于 2011-09-02 03:44:49
当obj.href是所有浏览器支持的标准属性时,我使用直接属性访问,因为我发现代码的可读性要高得多,而且可以工作。
如果它是一个非标准属性,或者是我自己编的用于在对象上存储一些数据的方法,则使用get/setAttribute()。
我不知道为什么一个人应该总是使用get/setAttribute(),我从来没有遇到任何浏览器使用obj.id,obj.href,obj.className,obj.value等.
https://stackoverflow.com/questions/7278922
复制相似问题