Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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 访问HTML块中的innerHTML文本节点_Javascript_Dom_Innerhtml - Fatal编程技术网

Javascript 访问HTML块中的innerHTML文本节点

Javascript 访问HTML块中的innerHTML文本节点,javascript,dom,innerhtml,Javascript,Dom,Innerhtml,我正在尝试访问这个巨大的HTML跨度中的12:00数字。它在中。我尝试使用div的getElementById().innerHTML,然后使用一个函数console log,该函数在单击元素时触发,没有任何错误 function minute(){ time=window.document.getElementById('gameClock').innerHTML; console.log(时间); } minusMinute=window.document.getElementById('

我正在尝试访问这个巨大的HTML跨度中的12:00数字。它在
中。我尝试使用div的
getElementById().innerHTML
,然后使用一个函数
console log
,该函数在单击元素时触发,没有任何错误

function minute(){
time=window.document.getElementById('gameClock').innerHTML;
console.log(时间);
}
minusMinute=window.document.getElementById('minusMinute');
addEventListener('click',minus,false)

12:00

您有多个问题:

  • 您已经声明了一个名为
    minimute
    的函数,但是您还声明了一个名为
    minimute
    的变量,并将其赋值将覆盖该函数。那么你的

    minusMinute.addEventListener('click', minusMinute, false);
    
    行将元素连接为单击处理程序

  • 您的HTML还有
    onclick=“minute”
    。如果
    minimute
    是一个函数,那么它不会做任何事情,因为浏览器创建的用于包装代码的函数只会引用
    minimute
    ,而不会调用它
    onXyz
    属性处理程序应该包含函数调用(例如,
    onclick=“minute()”
    ),但是如果使用的是
    addEventListener
    ,则根本不需要
    onclick
    属性

  • 虽然12:00确实在一个带有
    id=“gameClock”
    的元素中,但还有很多其他元素。但是,在
    id=“gameTime”
    的帮助下,它在span中完全独立

这里有一个固定版本,改动最小:

function minute(){
var time=window.document.getElementById('gameTime').innerHTML;
console.log(时间);
}
window.document.getElementById('minusMinute')。addEventListener('click',minusMinute,false)

下午12:00

您有多个问题:

  • 您已经声明了一个名为
    minimute
    的函数,但是您还声明了一个名为
    minimute
    的变量,并将其赋值将覆盖该函数。那么你的

    minusMinute.addEventListener('click', minusMinute, false);
    
    行将元素连接为单击处理程序

  • 您的HTML还有
    onclick=“minute”
    。如果
    minimute
    是一个函数,那么它不会做任何事情,因为浏览器创建的用于包装代码的函数只会引用
    minimute
    ,而不会调用它
    onXyz
    属性处理程序应该包含函数调用(例如,
    onclick=“minute()”
    ),但是如果使用的是
    addEventListener
    ,则根本不需要
    onclick
    属性

  • 虽然12:00确实在一个带有
    id=“gameClock”
    的元素中,但还有很多其他元素。但是,在
    id=“gameTime”
    的帮助下,它在span中完全独立

这里有一个固定版本,改动最小:

function minute(){
var time=window.document.getElementById('gameTime').innerHTML;
console.log(时间);
}
window.document.getElementById('minusMinute')。addEventListener('click',minusMinute,false)

下午12:00

当Dom元素存在时,首先需要执行此操作,例如onload:

window.onload=function() {
  var minusMinute = window.document.getElementById('minusMinute');
  minusMinute.addEventListener('click', minusMinute, false);
}
或者更简单更兼容-我想你想要的是游戏时间而不是游戏时钟

window.onload=function() {
  document.getElementById('minusMinute').onclick=function() {
    var time = document.getElementById('gameTime').innerHTML;
    console.log(time);
  }
}
上面的匿名函数还解决了函数和对象之间的名称冲突

html中还有一些奇怪的onclick需要删除, 最后,addEventListener与所有浏览器不兼容

这是我的代码和你清理过的HTML-我必须添加一些内容,以查看它

window.onload=function(){
document.getElementById('minusMinute')。onclick=function(){
var time=document.getElementById('gameTime').textContent;
console.log(时间);
}
}

12:00

当Dom元素存在时,首先需要执行此操作,例如onload:

window.onload=function() {
  var minusMinute = window.document.getElementById('minusMinute');
  minusMinute.addEventListener('click', minusMinute, false);
}
或者更简单更兼容-我想你想要的是游戏时间而不是游戏时钟

window.onload=function() {
  document.getElementById('minusMinute').onclick=function() {
    var time = document.getElementById('gameTime').innerHTML;
    console.log(time);
  }
}
上面的匿名函数还解决了函数和对象之间的名称冲突

html中还有一些奇怪的onclick需要删除, 最后,addEventListener与所有浏览器不兼容

这是我的代码和你清理过的HTML-我必须添加一些内容,以查看它

window.onload=function(){
document.getElementById('minusMinute')。onclick=function(){
var time=document.getElementById('gameTime').textContent;
console.log(时间);
}
}

12:00

就像前面提到的mplungjan一样,当您试图获取元素的内容时,应该确保元素在那里(通过在末尾包含javascript或使用onload函数)


您还遇到的另一个问题是,您对全局变量minusMinute和函数名minusMinute使用了相同的名称,这样会产生同样的错误。

就像前面提到的mplungjan一样,在尝试获取其内容时,您应该确保元素在那里(在末尾包含javascript或使用onload函数)


您还遇到的另一个问题是,您对全局变量minusMinute和函数名minusMinute使用了相同的名称,这样会产生错误。

如果是这样,他会提示错误。无论如何,还有几个其他问题。
onload
在这个过程中确实很晚。最好简单地说一下你首先需要在加载时这样做:“不,他没有,这很糟糕