未被捕获的TypeError:无法将属性'src'设置为null,但是设置了ID

时间:2018-07-06 07:39:54

标签: jquery image src

我有这个脚本,它将一个ID添加到img标签,然后添加一个函数,以不同的彩色版本更改图像src,如下所示:

<script type="text/javascript">
jQuery(document).ready(function( $ ) {
$('.custom-logo-link img').each(function(i) {
$(this).attr('id', 'img-logo' + i);
});
});

function setImg(){
var numRand = Math.floor((Math.random() * 4) + 1);
document.getElementById("img-logo0").src = "/wp-content/uploads/2018/04/Logo"+numRand+".jpg";}

setImg();

window.setInterval("setImg()",1000);
</script>

我的问题是,我继续收到Uncaught TypeError:无法将属性'src'设置为null,但是我设置了应该查看的ID。

1 个答案:

答案 0 :(得分:0)

您可以将setImg()移到文档内部,这样就不会出现ID尚未设置和getElementById失败的问题:

jQuery(document).ready(function( $ ) {
    $('.custom-logo-link img').each(function(i) {
        $(this).attr('id', 'img-logo' + i);
    });

// Move this to the end: });

    function setImg(){
        var numRand = Math.floor((Math.random() * 4) + 1);
        document.getElementById("img-logo0").src = "/wp-content/uploads/2018/04/Logo"+numRand+".jpg";
    }
    setImg();
    window.setInterval(setImg, 1000);
});