我有一个以不同方式逐个搜索图像的功能,并且对于每个试验,如果找到一个,则该函数返回该图像。
如果我搜索各种图像,代码变得非常笨重,是否有更优雅的方法来尝试查找对象并返回它(如果存在的话)?
var image = $('a.jqzoom')[0].getAttribute('href');
if (image)
return image;
然后,我一直在尝试其他方法一个接一个地找到图像,例如:
var image = $('a.asdf')[0].getAttribute('href');
if (image)
return image;
答案 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');
它基本上等同于你已经得到的东西(由于你得到的真理检查,它有点宽松。