Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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 为什么这个简单的代码在JSFIDLE中不起作用?_Javascript_Html_Jsfiddle - Fatal编程技术网

Javascript 为什么这个简单的代码在JSFIDLE中不起作用?

Javascript 为什么这个简单的代码在JSFIDLE中不起作用?,javascript,html,jsfiddle,Javascript,Html,Jsfiddle,我在JSFIDLE中这样做: 它应该将段落变为黑色,但似乎无法调用该函数。它在真实的网页上也不起作用 后来,我将JavaScript添加到JSFIDLE中的html中,如下所示: <script> function changeA(){ document.getElementById('para1').style.color ='black'; } </script> <p id="para1"> This is a paragraph to be chan

我在JSFIDLE中这样做:

它应该将段落变为黑色,但似乎无法调用该函数。它在真实的网页上也不起作用

后来,我将JavaScript添加到JSFIDLE中的html中,如下所示:

<script>
function changeA(){
document.getElementById('para1').style.color ='black';
}
</script>
<p id="para1">
This is a paragraph to be changed.
</p>
<a href="#" onclick="changeA(); return false">Turn black.</a>

函数changeA(){
document.getElementById('para1').style.color='black';
}

这是一个需要修改的段落。

它成功了:


所以我想知道为什么。提前感谢。

原始版本不起作用,因为您使用的是onlick而不是onclick,并且代码没有在头部运行,而是在onload函数中运行(设置在左侧),导致onclick属性无法看到该函数

JSFIDLE默认为在onLoad函数中运行javascript,因此基本上代码的运行方式如下:

<script>
window.onload = function(){
  function changeA(){
    document.getElementById('para1').style.color ='black';
  } 
};
<script>
现在它对html是可见的

下面是设置所在位置的屏幕截图:


在您指定的jsfiddle中,单击onlick而不是onClick

<a href="#" onlick="changeA(); return false">Turn black.</a>

换成

<a href="#" onClick="changeA(); return false">Turn black.</a>

在链接中,从JSFIDLE的左侧设置选项无换行。


<!DOCTYPE html >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
        #para1
        {
            color: red;
            font-weight: bold;
        }
    </style>
    <script type="text/javascript">
        function changeA()
        {
            document.getElementById('para1').style.color ='black';
        }
    </script>

</head>
<body>
    <p id="para1">This is a paragraph to be changed.</p>
    <a href="#" onclick="changeA(); return false">Turn black.</a>
    </body>
</html>
#帕拉1 { 颜色:红色; 字体大小:粗体; } 函数changeA() { document.getElementById('para1').style.color='black'; }

这是一个需要修改的段落


试试这个。

小提琴坏了是什么意思?单击链接时,颜色会发生变化。确保将JavaScript放在真实网页的头部,而不是onload事件中。@j08691:小提琴链接错误,我解决了这个问题。@BoltClock-好的,但如果JSFIDLE构造正确,原始链接()可以正常工作:。原始链接不工作,因为您使用了
onlick
而不是
onclick
,并且不要让代码在
头中运行,而是在onload功能中运行(设置在左侧),这会导致onclick无法看到该功能attr@PatrickEvans即使你纠正了那个打字错误,它仍然不起作用。
<!DOCTYPE html >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
        #para1
        {
            color: red;
            font-weight: bold;
        }
    </style>
    <script type="text/javascript">
        function changeA()
        {
            document.getElementById('para1').style.color ='black';
        }
    </script>

</head>
<body>
    <p id="para1">This is a paragraph to be changed.</p>
    <a href="#" onclick="changeA(); return false">Turn black.</a>
    </body>
</html>