Javascript .Css()函数返回未定义的

Javascript .Css()函数返回未定义的,javascript,jquery,html,angularjs,css,Javascript,Jquery,Html,Angularjs,Css,目前,我在代码片段中遇到了一个问题,我正在根据图像代码从css文件中检索图像url,图像代码来自另一个网站 另一个函数将图像代码作为参数,使其成为css类 基于css类,使用jquery中的.css()检索图像url,但当页面最初加载时,几秒钟后返回“未定义”,返回正确的图像url: JS函数使图像代码成为css类: $scope.placeholderNetworkImage = function(networkBenefitIcon){ var selectorClassName =

目前,我在代码片段中遇到了一个问题,我正在根据图像代码从css文件中检索图像url,图像代码来自另一个网站 另一个函数将图像代码作为参数,使其成为css类

基于css类,使用jquery中的.css()检索图像url,但当页面最初加载时,几秒钟后返回“未定义”,返回正确的图像url:

JS函数使图像代码成为css类:

$scope.placeholderNetworkImage = function(networkBenefitIcon){
    var selectorClassName = "."+ networkBenefitIcon;
    var blnResult = false;

     if(networkBenefitIcon!=="null" && networkBenefitIcon!=="")
     {

        var imagePresent = $(selectorClassName).css('backgroundImage');
        console.log("image of url is: "+imagePresent);
        if (imagePresent == 'none' || imagePresent == null) {
           blnResult = true;
        }
        else 
        {
            blnResult = false;
        }
     }
    else
    {
       blnResult = true;
    }
       return blnResult;
}
HTML代码

<div class="media-left">
  <ul>
    <li class="networkBenefitIconLi" ng-repeat="networkBenefitIcon in 
           item.t_css_tariffBenefit.split('|') track by $index | limitTo:3">
      <span ng-class="networkBenefitIcon" class="networkBenefitIcon" ng-
                   show="!placeholderNetworkImage(networkBenefitIcon)">
          </span>
      <span class="networkBenefitIcon tickLightGray" ng-
                    show="placeholderNetworkImage(networkBenefitIcon)">
          </span>
    </li>
  </ul>
</div> 

输出:


请帮助我解决这个问题,因为这是我们这边的一个巨大性能问题。请任何人告诉我为什么即使css中存在图像,它仍返回“未定义”。

我想你已经找到了答案。首先,等待DOM准备就绪! 然后,获取背景图像URL(编辑答案并留下片段以显示证据):

$(文档).ready(函数(){
函数getImageBackgroundUrl($el){
var imgUrl=$el.css('backgroundImage')
返回图
}
功能剂量测量(imgUrl){
log('imgUrl is',imgUrl)
}
var images=$('.my images ul li');
$。每个(图像、函数(k、v){
变量$el=$(v)
var imgUrl=getImageBackgroundUrl($el)
剂量测定法(imgUrl)
})
})

.a{
背景图片:url(https://unsplash.it/200/305?2)
}
.b{
背景图片:url(https://unsplash.it/200/305?3)
}
c{
背景图片:url(https://unsplash.it/200/305?4)
}

网络利益图标==“null”
在我看来是错误的。请不要附上错误的屏幕截图。另一个逻辑问题是:如果,
blnResult=false总是将其设置为false。。。。当默认值为false时,没有理由将其设置为false。如果选择器未找到该元素,则该元素将未定义。这里是这样吗<代码>控制台.log(selectorClassName,$(selectorClassName).length)然后尝试在onload事件处理程序中执行代码