Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.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
wordpress页面中的Javascript函数赢得';行不通_Javascript_Wordpress - Fatal编程技术网

wordpress页面中的Javascript函数赢得';行不通

wordpress页面中的Javascript函数赢得';行不通,javascript,wordpress,Javascript,Wordpress,我制作了一个脚本,以一年为参数,然后用文字打印出与当前年份的差异。单词部分我自己没有做过,我发现了一些我用过的代码 当我在例如jsfiddle中尝试代码并使用 document.getElementById("demo").innerHTML = yearDiff(1968); 当我使用这个HTML代码时,它就工作了 <p id="demo"></p> 但当我试图在Wordpress页面中运行它进行测试时,它不起作用。 这是我在页面上插入的内容 <scrip

我制作了一个脚本,以一年为参数,然后用文字打印出与当前年份的差异。单词部分我自己没有做过,我发现了一些我用过的代码

当我在例如jsfiddle中尝试代码并使用

document.getElementById("demo").innerHTML = yearDiff(1968);
当我使用这个HTML代码时,它就工作了

<p id="demo"></p>

但当我试图在Wordpress页面中运行它进行测试时,它不起作用。 这是我在页面上插入的内容

<script type="text/javascript">
    var a = ['','one ','two ','three ','four ', 'five ','six ','seven ','eight ','nine ','ten ','eleven ','twelve ','thirteen ','
    var b = ['', '', 'twenty','thirty','forty','fifty', 'sixty','seventy','eighty','ninety'];

    function yearDiff(startYear) {
        var currentDate = new Date();
        var currentYear = currentDate.getFullYear();     
        num = currentYear - startYear;

        n = ('000000000' + num).substr(-9).match(/^(\d{2})(\d{2})(\d{2})(\d{1})(\d{2})$/);
        if (!n) return;
        var str = '';
        str += (n[5] != 0) ? ((str != '') ? 'and ' : '') + (a[Number(n[5])] || b[n[5][0]] + ' ' + a[n[5][1]]) : '';
        return str;
    } 
    yearDiff(1975);
</script>

变量a=['','1','2','3','4','5','6','7','8','9','10','11','12','13','
变量b=['','二十','三十','四十','五十','六十','七十','八十','九十'];
功能年差异(起始年){
var currentDate=新日期();
var currentYear=currentDate.getFullYear();
num=当前年份-开始年份;
n=('000000000'+num).substr(-9).match(/^(\d{2})(\d{2})(\d{2})(\d{1})(\d{2})$/);
如果(!n)返回;
var-str='';
str+=(n[5]!=0)?((str!='')和':'')+(a[Number(n[5])]| | b[n[5][0]+'+a[n[5][1]]:'';
返回str;
} 
yearDiff(1975年);

我做错了什么?

在上一个示例中,您只是调用函数(
yearDiff(1975);
),但对返回值不做任何操作

你是缺少一些代码,还是这就是你的问题

编辑

我再次查看了您的代码,您有:
var a=['','1','2','3','4','5','6','7','8','9','10','11','12','13','


你没有完成你的数组..你的javascript控制台中肯定有一个错误,大喊一些
意外的标记
或类似的东西..

我将你的代码复制/粘贴到了CodePen中,除了@joaquin在下面关于你的数组没有完成和没有使用返回值做任何事情之外,它工作正常。s请看这里:我使用了与我在JSFIDLE上测试的代码非常相似的代码,并将其粘贴到我的wordpress页面上,但我仍然无法在wordpress页面上获得输出。我不明白为什么它不起作用。您在JS控制台中是否出现任何错误?您是否尝试过类似于
alert(yearDiff(1975))的操作
查看代码是否运行?在上面的示例中,您只需调用
yearDiff(1975)
而不使用它返回的值。您是否正确使用了该值?我尝试了
alert(yearDiff(1975));
但没有运气。但是当我尝试
alert('test');
而没有其他代码时,它会工作。什么是“没有运气”的意思是?如果函数未定义,您是否会遇到错误?听起来这不是您的代码的问题,而是让您的代码在Wordpress中工作的问题。查看页面源代码,看看它是否如您所期望的那样被包含。粘贴代码时我一定是做错了什么,数组看起来是这样的
var a=['','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19'];变量b=['','20','30','40','50','60','70','80','90']
那么如何打印返回值呢?我不熟悉Javascript,您想在哪里打印您的值?例如,您可以使用问题中的内容:
document.getElementById(“demo”).innerHTML=yearDiff(1968);
这个问题在wordpress中是空行,如果没有空行,它就起作用了。