Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.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中的函数不';行不通_Javascript_Html_Function_Dom_External Script - Fatal编程技术网

外部javascript中的函数不';行不通

外部javascript中的函数不';行不通,javascript,html,function,dom,external-script,Javascript,Html,Function,Dom,External Script,这个问题很简单,我花了两个小时在上面,但我没有任何想法。没有像Jquery这样的库。这是世界上最简单的功能之一。我确信这个函数正在工作,因为当我把它做成内联代码时,它就工作了。下面是代码: <head> <link type="text/css" rel="stylesheet" href="vars.css"> <link type="text/css" rel="stylesheet" href="font.css"> <li

这个问题很简单,我花了两个小时在上面,但我没有任何想法。没有像Jquery这样的库。这是世界上最简单的功能之一。我确信这个函数正在工作,因为当我把它做成内联代码时,它就工作了。下面是代码:

<head>
    <link type="text/css" rel="stylesheet" href="vars.css">
    <link type="text/css" rel="stylesheet" href="font.css">
    <link type="text/css" rel="stylesheet" href="site.css">
    <script src="viewport-units-buggyfill.js" ></script>
    <script src="default.js"></script>
    <script src="site.js"></script>
    <!--<script>
        function byId(id)
        {
           return document.getElementById(id);
        }
    </script>-->
</head
如您所见,如果我激活注释代码,一切都正常运行。 以下是Chrome开发工具的屏幕截图:

我正在使用括号实时预览来查看页面。另一个代码就是因为这个

注意:当我直接从index.html运行它时,我意识到它正在工作。但它不使用括号或服务器(甚至Dropbox或Gdrive服务器)。所以我认为这可能是脚本路径的问题


谢谢。

考虑到查找脚本的网络路径中可能存在错误,我实际上建议您不要实现byId。。。在分析了你想要实现的目标之后,你根本不需要它

您正在单击一个元素,并在单击时尝试查找相同的元素,以便可以更改该元素的innerHTML属性?这就像看着一条狗追逐它的尾巴

您不需要在DOM中找到刚刚与之交互的元素。这将使您直接访问刚才单击的元素。因此,您可以将其作为参数传递给任何函数,也可以内联修改它

你的例子是:

<section id="den" onclick="byId('den').innerHTML = 'red';" class="gizlimenu">
            </section>

可以变成:

<section id="den" onclick="this.innerHTML = 'red';" class="gizlimenu">
            </section>

请参见运行示例:


您可以尝试使用绝对路径,如“/…/default.js”吗?注意:不是服务器的路径,而是主机名。所以我认为这可能是脚本路径的问题。你查过了吗?查看“网络”选项卡以查看正在加载的内容。这是事实,但它并没有解决此处的主要问题,即OP的脚本似乎无法加载。@JLRishe好吧,除了他自己,没有人可以修复他的问题。调用部分只是我代码中的一个调用。还有其他元素使用相同的函数。我知道如果我用这个会更容易,但实际上这不是我的问题。
<section id="den" onclick="byId('den').innerHTML = 'red';" class="gizlimenu">
            </section>
<section id="den" onclick="this.innerHTML = 'red';" class="gizlimenu">
            </section>