我正在使用Jquery并试图找出下面的标签是否存在
if(feed.mediaGroups[0].contents[0].thumbnails[0].url !== 'undefined') {
thumb = feed.mediaGroups[0].contents[0].thumbnails[0].url;
}
但这是崩溃的说法
TypeError: feed.mediaGroups is undefined
任何想法,我都能让它发挥作用。
谢谢
答案 0 :(得分:1)
你正在检查链中的一个属性,但显然feed
对象甚至没有mediaGroups
属性,所以你应该从那里开始
if(
'mediaGroups' in feed &&
Array.isArray(feed.mediaGroups) &&
'contents' in feed.mediaGroups[0] &&
Array.isArray(feed.mediaGroups[0].contents) &&
'thumbnails' in feed.mediaGroups[0].contents[0] &&
Array.isArray(feed.mediaGroups[0].contents[0].thumbnails) &&
'url' in feed.mediaGroups[0].contents[0].thumbnails[0] &&
typeof feed.mediaGroups[0].contents[0].thumbnails[0].url !== 'undefined'
) {
thumb = feed.mediaGroups[0].contents[0].thumbnails[0].url;
}
你可以看到这真的很乏味,我们甚至没有检查所有内容,我们仍然可以检查数组是否在索引0
等处有一个值,所以知道会发生什么是非常有帮助的,你不应该以这种方式检查每一个房产