如果你使用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;
}
}
仍然不在我的代码中工作。我更新了原来的问题。它适用于Chrome,Firefox等,但不适用于IE8。 'getElementById'在IE8中工作,但不是'getElementsByClassName',为什么? – Treps
为什么?答案在我给出的链接中:IE8上不存在此功能。 –
啊,对不起。没有先阅读支持表。我怎样才能在IE8中工作? Thx帮助我。 :) – Treps