Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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 document.getElementById(“main”).innerHTML不显示或不工作_Javascript - Fatal编程技术网

Javascript document.getElementById(“main”).innerHTML不显示或不工作

Javascript document.getElementById(“main”).innerHTML不显示或不工作,javascript,Javascript,我在同一个文件夹中有main.html、test.html和script.js。我正在使用一个名为Eel的Python包,这就是我与html和Javascript交互的方式。当我调用函数dummy()时,如下图所示,我从Python中得到一个print语句,这正是我想要的,但是当我在dummy()中将“main”更改为“test”时,它不会打印任何内容。为什么呢?为什么script.js知道“main”而不知道“test” main.html <div> <p

我在同一个文件夹中有main.html、test.html和script.js。我正在使用一个名为Eel的Python包,这就是我与html和Javascript交互的方式。当我调用函数dummy()时,如下图所示,我从Python中得到一个print语句,这正是我想要的,但是当我在dummy()中将“main”更改为“test”时,它不会打印任何内容。为什么呢?为什么script.js知道“main”而不知道“test”

main.html

<div>
        <p id="main">This is from main.html</p>
        <input type="submit" name="" onclick="dummy()"></input>
<div> 

浏览器端JS在与其关联的网页的上下文中运行

脚本位于main.html中

带有
id=“test”
的元素位于test.html中


这是一个不同的文档,在main.html中运行的JS无法访问它(至少除非您使用类似于
iframe
,但即使这样,它仍然是一个不同的文档,您必须通过iframe的API访问该文档)。

浏览器端JS在与其关联的网页上下文中运行

脚本位于main.html中

带有
id=“test”
的元素位于test.html中


这是一个不同的文档,运行在main.html中的JS无法访问(至少除非您使用类似于
iframe
的东西,但即使这样,它仍然是一个不同的文档,您必须通过iframe的API访问该文档).

我认为您没有将script.js添加到main.html(而是将其添加到test.html

script.js仅当您将js文件添加到main.html文件时,才会使用id=“main”

检查演示:我无法访问python-eel,因此无法在代码段中使用eel.dummy(u),而是更改了另一个p标记的值

函数伪(){
u=document.getElementById(“main”).innerHTML
document.getElementById(“测试”).innerHTML=u
}

这来自main.html

待更改的文本


我认为您没有将script.js添加到main.html(而是将其添加到test.html

script.js仅当您将js文件添加到main.html文件时,才会使用id=“main”

检查演示:我无法访问python-eel,因此无法在代码段中使用eel.dummy(u),而是更改了另一个p标记的值

函数伪(){
u=document.getElementById(“main”).innerHTML
document.getElementById(“测试”).innerHTML=u
}

这来自main.html

待更改的文本


因为您的html中没有id为“test”的元素。不清楚main.html和test.html之间的关系。。。。。您希望main上的代码能够读取测试的内容???
getElementById
正是这样做的。在
main.html
文件中,确实有一个id为
main
的元素,但没有id为
test
的元素。你是在引用每个文件中的
script.js
吗?@devd我有

这是test.html中带有“test”的p标记,我想我的问题是,script.js为什么知道main.html中有一个“main”,但它不知道test.html中有一个“test”。main.html和test.html位于同一文件夹中。因为您的html中没有id为“test”的元素。不清楚main.html和test.html之间的关系。。。。。您希望main上的代码能够读取测试的内容???

getElementById
正是这样做的。在
main.html
文件中,确实有一个id为
main
的元素,但没有id为
test
的元素。你是在引用每个文件中的
script.js
吗?@devd我有

这是test.html中带有“test”的p标记,我想我的问题是,script.js为什么知道main.html中有一个“main”,但它不知道test.html中有一个“test”。main.html和test.html在同一个文件夹中。让我看看是否可以共享我的html和script.js。我添加了3个屏幕截图,希望能有所帮助。By script在main.html中,你是说onclick=dummy()吗?对不起,我对JS不太熟悉,我主要用Python编写代码(作为一种爱好)。如果你看这些图片,你会发现我在main.html和test.htmlet中使用了script.js,让我看看是否可以共享我的html和script.js。我添加了3个屏幕截图,希望能有所帮助。By script在main.html中,你是说onclick=dummy()吗?对不起,我对JS不太熟悉,我主要用Python编写代码(作为一种爱好)。如果您查看这些图像,可以看到我在main.html和test.html中使用script.js

<p id="test">This is p tag in test.html</p> 
function dummy() {
        u = document.getElementById("main").innerHTML
        eel.dummy(u)
}