我正在检查图片是否有网址源。
// HTML (short version)
<div id="image-drop-box">
<img class="promo-img hidden" title="Promo image" src="">
</div>
//JS
var promoImg = $('#image-drop-box .promo-img');
var missingImg = promoImg.prop('src').length == 0 ? true : false;
console.log(promoImg.prop('src').length);
console.log(promoImg.prop('src'));
所有强大的img源都是空的,它不断返回浏览器URL。那是为什么?
See the jsFiddle here
答案 0 :(得分:4)
您正在查看src
属性,该属性是相对于文档解析的;空白的相对网址会解析为与其所在文档相同的网址。如果您想知道属性是否为空白,请使用attr
查看该属性:
var missingImg = !promoImg.attr('src'); // A blank string is falsey, so !"" is true
console.log("attr: " + promoImg.attr('src'));
答案 1 :(得分:2)
相对网址""
被解析为“与其相对的网址相同”,即当前文档。
答案 2 :(得分:0)
<div id="image-drop-box">
<img class="promo-img hidden" title="Promo image" src="">
</div>
// JS
var promoImg = $('#image-drop-box .promo-img');
var missingImg = promoImg.attr('src').length == 0 ? true : false;
console.log(promoImg.attr('src').length);
console.log(promoImg.attr('src'));
答案 3 :(得分:0)
使用.prop('src')
它返回值,但使用完整的域路径
所以使用这个代码就可以了
var promoImg = $('#image-drop-box .promo-img');
var missingImg = promoImg.attr('src') ? true : false;
console.log(missingImg);
它会起作用
答案 4 :(得分:-1)
这是因为你得到了相对的网址。如果您有<img src="images/a.png">
,则表示您在文件所在的位置有图像目录。现在您将其指定为空字符串,这意味着您的图像位于当前文档的旁边。