2013-05-27 35 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