使用Javascript getElementById

时间:2012-05-28 09:20:00

标签: javascript getelementbyid

在yui库的示例代码中,我看到了这种表示法:

var obj = document.getElementById("coffee_msg");
obj.style.display = 'block';

由于obj只使用过一次,我宁愿选择这个:

document.getElementById("coffee_msg").style.display = 'block';

有没有理由在yui库和许多其他地方使用第一种符号? 是否与某些浏览器不兼容?

4 个答案:

答案 0 :(得分:1)

没有“真正的”理由,只是为了让代码更具可读性。

就像:

var myAge = 26;
var myAgeNextYear = myAge + 1;

VS

var myAgeNextYear = 26 + 1;

我的个人偏好仅在我多次使用时才会保留对obj的引用。

答案 1 :(得分:1)

如果你只需要设置一个属性就完全无关紧要(只要你不想在尝试访问它的属性之前检查返回值是否有效)。

但是,如果你有多个属性,你只想进行一次查找(即使id查找速度非常快),所以在这种情况下将元素赋值给变量就是这样。

当然你可以用jQuery来缩短它:$('#coffee_msg').show()
还有一个好处是,如果元素由于某种原因不存在,则不会出现错误。如果你想设置多个CSS属性等,你可以简单地使用一个函数,通过一次调用或多次调用不同的jQuery方法为你做这件事。

答案 2 :(得分:1)

两种不同的方式完全相同。使用临时obj变量可能有助于提高代码的可读性(但在这种情况下,应该给出比obj更好的名称)。

答案 3 :(得分:0)

第一个选项很有用,因为它提高了可读性,它还使obj变量可以立即用于其他用途。我会亲自使用这个例子。