Javascript 未捕获类型错误:无法读取属性';风格';未定义的类型:document.getElementsByName.onmouseinter
我有两个文件:Javascript 未捕获类型错误:无法读取属性';风格';未定义的类型:document.getElementsByName.onmouseinter,javascript,Javascript,我有两个文件: index.html和code.js 我有两个问题: 首先,“查找单词:”语句不会出现在浏览器中 其次,我有一个for循环来创建一个表(10x10)。此表包含随机字母,我想给鼠标悬停的字母的背景上色,但每次悬停时都会出现相同的错误:uncaughttypeerror:无法读取未定义的:document.getElementsByName.onmouseinter的属性'style' document.write(“查找单词:”); var-mable=“abcdefghijkl
index.html
和code.js
我有两个问题:
首先,“查找单词:”语句不会出现在浏览器中
其次,我有一个for循环来创建一个表(10x10)。此表包含随机字母,我想给鼠标悬停的字母的背景上色,但每次悬停时都会出现相同的错误:uncaughttypeerror:无法读取未定义的:document.getElementsByName.onmouseinter的属性'style'
document.write(“查找单词:”);
var-mable=“abcdefghijklmnopqrstuvxyz”;
var s='';
对于(var j=0;j,只需在onmouseenter函数中使用this
,即可指示要更改的元素
document.write(“查找单词:”);
var-mable=“abcdefghijklmnopqrstuvxyz”;
var s='';
对于(var j=0;j而言,问题在于这一行:
document.getElementsByName('letter')[i].style.backgroundColor="red";
mouseenter
侦听器在每次运行for
循环时都会被覆盖,因此i
始终等于100。请尝试使用this
引用要将侦听器附加到的元素:
this.style.backgroundColor="red";
document.body.innerHTML=(“查找单词:
”);
var-mable=“abcdefghijklmnopqrstuvxyz”;
var s='';
对于(var j=0;j<10;++j){
s+='';
对于(变量i=0;i<10;++i){
s+=''+可能的.charAt(Math.floor(Math.random()*可能的.length))+'';
}
s+='';
}
s+='';
document.body.innerHTML+=s;
for(var i=0;i
为什么不直接使用css呢
td:hover {
background-color: red;
}
顺便说一句,您编写了“Find Word:”body,但重写了整个body,即document.body.innerHTML=s。。。
你必须准备好你的第一句话,或者,更好的是,在你的身体中提供一个带有标题的html和一个专门的div来构建你的表格。谢谢你,先生!我是JS新手,但是的,这是一个巨大的失败,我猜:Dno问题!:)你可以接受答案,这样我就可以得到一些荣誉了,我需要15个荣誉,但我会尽快:)您没有指出问题中给定的代码为什么不起作用,这可能对OP有用。“Find word:”正在消失,因为在您将其写入文档后,您正在用生成的表替换文档的整个html内容。