Javascript .Css()函数返回未定义的
目前,我在代码片段中遇到了一个问题,我正在根据图像代码从css文件中检索图像url,图像代码来自另一个网站 另一个函数将图像代码作为参数,使其成为css类 基于css类,使用jquery中的.css()检索图像url,但当页面最初加载时,几秒钟后返回“未定义”,返回正确的图像url: JS函数使图像代码成为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 =
$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事件处理程序中执行代码