使用DOM创建的元素的问题设置样式

时间:2011-06-29 13:25:25

标签: javascript html dom

我在设置使用javascript中的DOM创建的'tr'元素时遇到问题。 代码就像 -

var tr = document.createElement("tr");
tr.onmouseover=function(){this.style.backgroundColor='#fbf9e0';};
                     or
tr.attachEvent('onmouseover',this.style.backgroundColor='#fbf9e0';);

我在IE-7中运行此代码。还有其他approch吗?

3 个答案:

答案 0 :(得分:1)

jQuery是一个选项吗?如果是这样,这变得非常简单:

$('tr').live('mouseover', function() {
   $(this).css('background-color', '#fbf9e0');
});

这会将mouseover事件处理程序附加到每个TR,无论它现在存在于DOM中还是将来存在。

答案 1 :(得分:0)

使用attachEvent可以将多个事件附加到对象。

设置时使用onmouseover,可以覆盖

答案 2 :(得分:0)

正如提到的评论,我建议如下:使用全局样式,或使用伪类:hover的类特定样式。

tr:hover {
  background-color: #fbf9e0;
}

/* or */
tr.someClass:hover {
  background-color: #fbf9e0;
}

如果你去那个班级路线,一定要把它添加到对象:

<script>
  tr.className = 'someClass';
</script>