这个onmouseover'lookdown'函数有效,但是onmouseout'lookup'函数没有:
function lookdown(harvid) { harvid.innerHTML="See details below"; }
function lookup(harvid,crop) {harvid.innerHTML=crop;}
<td id="harv1244" onmouseover="lookdown(harv1244)"
onmouseout="lookup(harv1244,apples)">dummy</td>
这个onmouseout函数有效(当然,它打印'crop',我想传入一个字符串,就像我上面尝试的那样):
function lookup(harvid) {harvid.innerHTML="crop";}
<td id="harv1244" onmouseover="lookdown(harv1244)"
onmouseout="lookup(harv1244)">dummy</td>
答案 0 :(得分:3)
您的代码存在以下问题:
您正在将未声明的变量传递到您的函数中。 apples
和harvid
是变量,而不是字符串,因此未定义。您需要将这些值放在引号中以使它们成为字符串
harvid
需要是字符串或节点元素。但你也没有传入。假设您希望它是一个字符串,那么您需要使用getElementById
找到DOM元素。
这是一个有效的解决方案:
使用Javascript:
function lookdown(harvid) {
document.getElementById(harvid).innerHTML="See details below";
}
function lookup(harvid,crop) {
document.getElementById(harvid).innerHTML=crop;
}
HTML:
<div id="harv1244" onmouseover="lookdown('harv1244')"
onmouseout="lookup('harv1244','apples')">
dummy
</div>
这里是相关的小提琴:http://jsfiddle.net/pQM37/
编辑:
为了使这段代码更清晰,你可以将元素本身传递给函数,而不是id
,如下所示:
使用Javascript:
function lookdown(ele) {
ele.innerHTML="See details below";
}
function lookup(ele,crop) {
ele.innerHTML=crop;
}
HTML:
<div id="harv1244" onmouseover="lookdown(this)"
onmouseout="lookup(this,'apples')">
dummy
</div>