Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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/0/jpa/2.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 为什么h1标签的内容在点击重置按钮后没有改变?_Javascript - Fatal编程技术网

Javascript 为什么h1标签的内容在点击重置按钮后没有改变?

Javascript 为什么h1标签的内容在点击重置按钮后没有改变?,javascript,Javascript,var one=document.getElementById(“one”); var two=document.getElementById(“two”); var reset=document.getElementById(“reset”); var i=0; var j=0; addEventListener(“单击”,函数(){ i=i+1; document.querySelector(“#d1”).textContent=i; }); 2.addEventListener(“单击”,

var one=document.getElementById(“one”);
var two=document.getElementById(“two”);
var reset=document.getElementById(“reset”);
var i=0;
var j=0;
addEventListener(“单击”,函数(){
i=i+1;
document.querySelector(“#d1”).textContent=i;
});
2.addEventListener(“单击”,函数(){
j=j+1;
document.querySelector(“#d2”).textContent=j;
});
reset.addEventListener(“单击”,函数(){
document.getElementsByTagName(“h1”).innerHTML=“0到0”;
});
//当我添加文本内容代替内部html时,它不起作用
>为什么当我点击重置按钮时h1的内容没有改变。

记分员
0到0
播放到:5


一号玩家 球员二 重置
您正在使用的不会返回一个元素,如。它返回一个
HTMLCollection
/
节点列表
(取决于哪个浏览器),但您可以将其视为标准数组

您应该使用
getElementsByTagName[0]
来选择第一个元素

您可以使用
innerHTML
textContent
,但它们的功能不同

innerHTML
将用指定的内容替换
h1
标记的内容。因此,
document.getElementsByTagName(“h1”).innerHTML=“0到0”
将输出两个您不想要的
h1
元素

因此,在任何一种情况下,都可以将
innerHTML
textContent
设置为简单的
0到0

var one=document.getElementById(“one”);
var two=document.getElementById(“two”);
var reset=document.getElementById(“reset”);
var i=0;
var j=0;
addEventListener(“单击”,函数(){
i=i+1;
document.querySelector(“#d1”).textContent=i;
});
2.addEventListener(“单击”,函数(){
j=j+1;
document.querySelector(“#d2”).textContent=j;
});
reset.addEventListener(“单击”,函数(){
document.getElementsByTagName(“h1”)[0].innerHTML=“0到0”;
});
//当我添加文本内容代替内部html时,它不起作用

记分员
0到0
播放到:5


一号玩家 球员二 重置
文档。getElementsByTagName(“h1”)
返回一个数组,因此您必须选择所需的
h1

您的代码被修改为第一个
h1
(假设它总是好的)

var one=document.getElementById(“one”);
var two=document.getElementById(“two”);
var reset=document.getElementById(“reset”);
var i=0;
var j=0;
addEventListener(“单击”,函数(){
i=i+1;
document.querySelector(“#d1”).textContent=i;
});
2.addEventListener(“单击”,函数(){
j=j+1;
document.querySelector(“#d2”).textContent=j;
});
reset.addEventListener(“单击”,函数(){
document.getElementsByTagName(“h1”)[0].innerHTML=“0到0”;
});
//当我添加文本内容代替内部html时,它不起作用

记分员
0到0
播放到:5


一号玩家 球员二 重置
这里有三个问题:


1-getElementsByTagName返回数组,而不是元素。您可以使用“[0]”检索数组的第一个元素,就像我在代码段中所做的那样

(我建议给那个标题一个id。)

2-h1的innerHTML存在问题。当替换h1 innerHTML时,不需要重复h1标记(最终得到嵌套的h1)。但另一个问题是,你不应该忘记d1和d2的跨度,否则代码就会中断

3-此外,不要忘记重置i和j

var one=document.getElementById(“one”);
var two=document.getElementById(“two”);
var reset=document.getElementById(“reset”);
var i=0;
var j=0;
addEventListener(“单击”,函数(){
i=i+1;
document.querySelector(“#d1”).textContent=i;
});
2.addEventListener(“单击”,函数(){
j=j+1;
document.querySelector(“#d2”).textContent=j;
});
reset.addEventListener(“单击”,函数(){
document.getElementsByTagName(“h1”)[0].innerHTML='0到0';
i=j=0;
});
//当我添加文本内容代替内部html时,它不起作用

记分员
0到0
播放到:5


一号玩家 球员二 重置
问题:
document.getElementsByTagName
返回一个数组,以便需要可以使用的索引

document.getElementsByTagName("h1")[0].innerHTML = "<h1>0 to 0</h1>";
document.getElementsByTagName(“h1”)[0].innerHTML=“0到0”;
但更好的版本是:

var one=document.getElementById(“one”),
two=document.getElementById(“two”),
重置=document.getElementById(“重置”),
i=0,
j=0;
addEventListener(“单击”,函数(){
i++;
document.querySelector(“#d1”).textContent=i;
});
2.addEventListener(“单击”,函数(){
j++;
document.querySelector(“#d2”).textContent=j;
});
reset.addEventListener(“单击”,函数(){
i=0,j=0
document.getElementById(“resetId”).innerHTML=“0到0”;//感谢@Micheale
});

记分员
0到0
播放到:5


一号玩家 球员二 重置
getElementsByTagName返回一个节点列表重置后尝试单击其中一个播放机的可能重复项