Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery错误追加null的子级_Javascript_Wordpress - Fatal编程技术网

Javascript jQuery错误追加null的子级

Javascript jQuery错误追加null的子级,javascript,wordpress,Javascript,Wordpress,我有一个jQuery计时器,它在中似乎工作得很好。但是,我的wordpress站点上的相同代码在控制台中给了我一个错误: 'Uncaught TypeError: Cannot read property 'appendChild' of null'. 似乎不明白我为什么会出现这个错误 var target_date = new Date('12/08/2014').getTime(); // variables for time units var days, hours, minutes

我有一个jQuery计时器,它在中似乎工作得很好。但是,我的wordpress站点上的相同代码在控制台中给了我一个错误:

'Uncaught TypeError: Cannot read property 'appendChild' of null'.
似乎不明白我为什么会出现这个错误

var target_date = new Date('12/08/2014').getTime();

// variables for time units
var days, hours, minutes, seconds;

// get tag element
var countdown = document.getElementById("ribboncountdown");
var days_span = document.createElement("SPAN");
days_span.className = 'days';
countdown.appendChild(days_span);

// update the tag with id "countdown" every 1 second
setInterval(function() {

    // find the amount of "seconds" between now and target
    var current_date = new Date().getTime();
    var seconds_left = (target_date - current_date) / 1000;

    // do some time calculations
    days = parseInt(seconds_left / 86400);
    seconds_left = seconds_left % 86400;


    // format countdown string + set tag value.
    if (days < 0) {
        days_span.innerHTML = '<span>' + days * -1 + '</span>' + ' days since';
    } else {
        days_span.innerHTML = '<span>' + days + '</span>' + ' days to go';
    }



    //ribboncountdown.innerHTML = days + "d,;  

}, 1000);
var target_date=新日期('12/08/2014')。getTime();
//时间单位变量
var天、小时、分钟、秒;
//获取标记元素
var countdown=document.getElementById(“ribboncountdown”);
var days_span=document.createElement(“span”);
days_span.className='days';
倒计时。追加子项(天/跨度);
//每1秒更新id为“倒计时”的标签
setInterval(函数(){
//找出从现在到目标之间的“秒数”
var current_date=new date().getTime();
var秒数左=(目标日期-当前日期)/1000;
//做一些时间计算
天=parseInt(还剩秒/86400);
剩余秒数=剩余秒数%86400;
//格式化倒计时字符串+设置标记值。
如果(天数<0){
天_span.innerHTML=''+天*-1+''+天起';
}否则{
days_span.innerHTML=''+days+''+days to go';
}
//ribboncountdown.innerHTML=days+“d,;
}, 1000);

您需要将代码包装在$(document).ready(function(){)中,以便在启动js之前准备好dom

因此,代码:

$( document ).ready(function() {    
var target_date = new Date('12/08/2014').getTime();

// variables for time units
var days, hours, minutes, seconds;

// get tag element
var countdown = document.getElementById("ribboncountdown");
var days_span = document.createElement("SPAN");
days_span.className = 'days';
countdown.appendChild(days_span);

// update the tag with id "countdown" every 1 second
setInterval(function() {

    // find the amount of "seconds" between now and target
    var current_date = new Date().getTime();
    var seconds_left = (target_date - current_date) / 1000;

    // do some time calculations
    days = parseInt(seconds_left / 86400);
    seconds_left = seconds_left % 86400;


    // format countdown string + set tag value.
    if (days < 0) {
        days_span.innerHTML = '<span>' + days * -1 + '</span>' + ' days since';
    } else {
        days_span.innerHTML = '<span>' + days + '</span>' + ' days to go';
    }

    //ribboncountdown.innerHTML = days + "d,;  

}, 1000);

});
$(文档).ready(函数(){
var target_date=新日期('12/08/2014')。getTime();
//时间单位变量
var天、小时、分钟、秒;
//获取标记元素
var countdown=document.getElementById(“ribboncountdown”);
var days_span=document.createElement(“span”);
days_span.className='days';
倒计时。追加子项(天/跨度);
//每1秒更新id为“倒计时”的标签
setInterval(函数(){
//找出从现在到目标之间的“秒数”
var current_date=new date().getTime();
var秒数左=(目标日期-当前日期)/1000;
//做一些时间计算
天=parseInt(还剩秒/86400);
剩余秒数=剩余秒数%86400;
//格式化倒计时字符串+设置标记值。
如果(天数<0){
天_span.innerHTML=''+天*-1+''+天起';
}否则{
days_span.innerHTML=''+days+''+days to go';
}
//ribboncountdown.innerHTML=days+“d,;
}, 1000);
});

问题是显示计数器丢失的html。为注销用户添加此html解决了问题。感谢帮助

我在代码中看不到任何jquery,只有纯javascript。只有在没有id为“ribboncountdown”的元素时才会发生这种情况。添加以下内容后,您在控制台中看到了什么倒计时声明行:console.dir(倒计时);是否有id为
ribboncountdown
Yes的元素此元素仅显示用户是否登录。该元素不显示用户是否登录