如果它存在于javascript中,是否有更好的方法来返回对象?

时间:2014-10-01 10:23:31

标签: javascript

我有一个以不同方式逐个搜索图像的功能,并且对于每个试验,如果找到一个,则该函数返回该图像。

如果我搜索各种图像,代码变得非常笨重,是否有更优雅的方法来尝试查找对象并返回它(如果存在的话)?

var image = $('a.jqzoom')[0].getAttribute('href');
if (image)
    return image;

然后,我一直在尝试其他方法一个接一个地找到图像,例如:

var image = $('a.asdf')[0].getAttribute('href');
if (image)
    return image;

2 个答案:

答案 0 :(得分:1)

考虑一下:

return $('a.jqzoom')[0].href || <value if not found>;

因此,如果未找到任何元素,则第一部分返回 undefined ,并返回第二个值。更多jQuery-ish方式是:

return $('a.jqzoom').prop('href') || <value if not found>;

但我有点疑惑,不是A元素的href应该是文档(或其他一些基于文本的对象),而不是图像?

答案 1 :(得分:0)

如果您的函数没有以return语句结尾,则它的返回值为undefined。所以你应该写:

return $('a.asdf')[0].getAttribute('href');

它基本上等同于你已经得到的东西(由于你得到的真理检查,它有点宽松。