如果你使用 document.querySelector 怎么办:
<td onmouseover="document.querySelector('.textbox').innerHTML='Hidden text'" onmouseout="document.querySelector('.textbox').innerHTML='Show text'">
<div class="textbox">Show text</div>
</td>
我认为这个有效。
您还应该记住其他一些事情。在你的 html 中添加这样的东西并不是一个好主意。那是因为每次你都在执行某事。缓存 document.querySelector 或 document.getElementsByClassName 的结果会很好。想象一下如果表中有 1000 行会发生什么。这是一个 jsfiddle,展示了如何提高代码http://jsfiddle.net/krasimir/Zbgng/2/的性能
HTML
<table><tr>
<td class="table-column">
column1
</td>
<td class="table-column">
column2
</td>
<td class="table-column">
column3
</td>
</tr></table>
<div class="textbox">Show text</div>
<div class="textbox">Show text</div>
<div class="textbox">Show text</div>
JS
var columns = document.querySelectorAll(".table-column");
var textboxes = document.querySelectorAll(".textbox");
for(var i=0; column=columns[i]; i++) {
column.addEventListener("mouseover", function() {
replaceText("Hidden text");
});
column.addEventListener("mouseout", function() {
replaceText("Show text");
});
}
var replaceText = function(str) {
for(var i=0; field=textboxes[i]; i++) {
field.innerHTML = str;
}
}