有没有更好的方法在jquery中执行此操作?

时间:2012-06-20 10:26:24

标签: javascript jquery

我想知道有更好的方法可以做:

var name = $('input').attr("name") != "undefined" ? $('input').attr("name") : "";

我正在阅读name的{​​{1}}属性。我的问题是当我为新创建的input元素阅读name时,它是text。因此,为了不向用户显示undefined,我必须进行此检查。现在我必须准备好这么多属性,然后存在同样的问题,这就是为什么我想知道,有没有更好的方式来处理这个吗?

2 个答案:

答案 0 :(得分:5)

您不必明确地将其与undefined进行比较。当在if语句中使用时,undefined将返回false。通过使用OR操作,您可以在这种情况下分配空字符串。

var name = $('input').attr("name") || '';

同样未定义且"undefined"在JavaScript中不相同。您的原始代码已经被误判。

答案 1 :(得分:3)

Short circuit evaluation:(我喜欢JS)

var name = $('input').attr("name") || '';