簡體   English   中英

添加CSS后背景色未更改

[英]Background color is not changing after adding CSS

我已經有了在此鏈接中突出顯示表格行的答案: HTML + JavaScript:如何在單擊Javascript中的按鈕時突出顯示行?

我正在使用以下代碼生成動態表,並使用highlight函數突出顯示行,但是當我添加一些CSS時,它無法更改行的顏色。 為什么?

 function highlight(ctrl) { var elements = document.getElementsByTagName('tr'); console.log(elements[1].style.background); for (var i = 0; i < elements.length; i++) elements[i].style.background = ''; //remove background color var parent = ctrl.parentNode.parentNode; parent.style.background = '#E9FFAA'; //add it to specific element. } document.write("<table id=appTable border=1 style=margin-top:10px; margin-left:10px;>"); document.write("<tr><th>Select</th><th>Name</th><th>Location</th><th>Action</th></tr>"); for (row = 1; row < 5; row++) { document.write("<tr>"); for (col = 1; col <= 4; col++) { if (col == 1) { document.write("<td><input type='checkbox' id='mapCheck' name='myTextEditBox' /></td>"); } if (col == 2) { document.write("<td width='140'>Name</td>"); } if (col == 3) { document.write("<td width='200'>Location</td>"); } if (col == 4) { document.write("<td><button type='button' onclick='highlight(this)'>select</button></td>"); } } document.write("</tr>") } document.write("</table>") 
 table { border-collapse: separate; border-spacing: 0.5px; border-color: gray; background-color: #d6d6d6; } th { border: 1px solid silver; text-align: left; color: #232323; font: normal 13px/18px"Open Sans", helvetica, sans-serif; line-height: 15px; background-color: #f5f5f5; zoom: 1; overflow: hidden; padding: 7px 6px 7px 6px; } td { color: #232323; font: normal 13px/18px"Open Sans", helvetica, sans-serif; background-color: white; border: 1px solid silver; } .scrollableTable { height: 380px; width: 500px; overflow: auto; } 

例如,如果要為行添加顏色,請在CSS上添加表格行

tr
{ background-color: green;
  }

並刪除background-color:white; 在你的TD上

td{
color:#232323;
font: normal 13px/18px "Open Sans",helvetica,sans-serif;
//background-color:white;
border: 1px solid silver;
}   

highlight功能當前正在添加trbackground-color從中刪除background-color 這是可行的,問題在於您正在CSS中將tdbackground-color設置為white ,從而隱藏了應用於包含它們的trbackground-color 要解決此問題,請刪除background-color: white; td

 function highlight(ctrl) { var elements = document.getElementsByTagName('tr'); console.log(elements[1].style.background); for (var i = 0; i < elements.length; i++) elements[i].style.background = ''; //remove background color var parent = ctrl.parentNode.parentNode; parent.style.background = '#E9FFAA'; //add it to specific element. } document.write("<table id=appTable border=1 style=margin-top:10px; margin-left:10px;>"); document.write("<tr><th>Select</th><th>Name</th><th>Location</th><th>Action</th></tr>"); for (row = 1; row < 5; row++) { document.write("<tr>"); for (col = 1; col <= 4; col++) { if (col == 1) { document.write("<td><input type='checkbox' id='mapCheck' name='myTextEditBox' /></td>"); } if (col == 2) { document.write("<td width='140'>Name</td>"); } if (col == 3) { document.write("<td width='200'>Location</td>"); } if (col == 4) { document.write("<td><button type='button' onclick='highlight(this)'>select</button></td>"); } } document.write("</tr>") } document.write("</table>") 
 table { border-collapse: separate; border-spacing: 0.5px; border-color: gray; background-color: #d6d6d6; } th { border: 1px solid silver; text-align: left; color: #232323; font: normal 13px/18px"Open Sans", helvetica, sans-serif; line-height: 15px; background-color: #f5f5f5; zoom: 1; overflow: hidden; padding: 7px 6px 7px 6px; } td { color: #232323; font: normal 13px/18px"Open Sans", helvetica, sans-serif; border: 1px solid silver; } .scrollableTable { height: 380px; width: 500px; overflow: auto; } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM