angular.forEach with .find

时间:2015-01-30 03:45:35

标签: javascript json angularjs ionic

我正在搜索特定字段,找到后,将其分配给新变量。只要值存在,这就可以正常工作。如果它不存在于一个记录中,则停止。

angular.forEach($scope.allnews.entries, function (value) {
    value.articleImage = $(value.content).find('img').eq(0).attr('src');
});

$scope.allnews.entries包含大量的json数据。字段内容包含我感兴趣的img数据。但是,有时内容字段可能不包含任何img。例如,

Record 1: contains img
Record 2: contains img
Record 3: contains img
Record 4: does not contains img
Record 5: does not contains img
Record 6: contains img
Record 7: contains img

我的问题是,当我绑定articleImage时,我只会获取记录1,2和3的img。它将停止检索其余的值,在这种情况下,6和7赢得'什么都没有。有没有办法我可以在这个循环中设置一个条件,所以当它没有发现它添加一个空标记或它不会停止?非常感谢。

1 个答案:

答案 0 :(得分:2)

在尝试从中获取src属性之前,只需测试该元素是否存在。

angular.forEach($scope.allnews.entries, function (value) {
    var img = $(value.content).find('img').eq(0);
    value.articleImage = img ? img.attr('src') : null;
});