2013-05-27 34 views
0

我使用Javascript动态构建表。为XML文件中的每个产品创建行。我正在尝试为MouseOver MouseOut和Onclick创建EventListeners,以便:Event Listeners - MouseOver,Mouseout,OnClick for HTML Rows

OnClick - 警报与所点击的行的innerHTML一起显示。

的onmouseover - 行更改背景点击#19405f

的onmouseout - 更改背景回到#FFFFFF

下面是代码:

var root=document.getElementById('information'); 
var tab=document.createElement('table'); 
tab.className="productTable"; 
var tbo=document.createElement('tbody'); 
for (var i=0; i<mobiles.length; i++){ 
    var row=document.createElement('tr'); 
    var cell=document.createElement('td'); 
    cell.appendChild(document.createTextNode(mobiles[i].name)); 
    row.appendChild(cell); 
    var cell=document.createElement('td'); 
    cell.appendChild(document.createTextNode(mobiles[i].price)); 
    row.appendChild(cell); 
    tbo.appendChild(row); 
} 
tab.style.border = "1px solid #000"; 
tab.appendChild(tbo); 
root.appendChild(tab); 

什么想法?

+0

我会建议尝试[jQuery](http://jquery.com)。 – Mateusz

回答

0

对于onclick事件,我建议你此位添加到脚本的末尾您提供

var rows = tab.rows; 
for (var i = 0; i < rows.length; i++) { 
    rows[i].onclick = (function() { 
     return function() { 
      var content = this.cells[0].innerHTML + this.cells[0].innerHTML; 
      alert(content); 
     }  
    })(i); 
} 

鼠标悬停及移出时可以用简单的CSS来处理。将下面的CSS添加到您的样式表中

.productTable tr {background:#FFF;} 
.productTable tr:hover {background:#19405f;} 

应该这样做。

+0

完美!非常感谢!我遇到了麻烦,因为任何点击行都会给我相同的答案! – user2415416