2016-04-02 23 views
1

3 ve 2'nin katları olan her sayı için bir arka plan rengi ayarlamak istiyorum bunu nasıl yapabilirim? Ben değil bu javascript şeyler çok iyiyimdirTablo sütununun arka plan rengini değiştirme javascript

HTML:

<div id="mainDiv"> 
    <input type="text" id="myNo" /> 
    <input type="button" id="gridSize" value="Show It" /> 
</div> 

JavaScript:

var button = document.getElementById('gridSize'); 
button.onclick = function(e){ 
    result = document.getElementById('result'); 
    num = parseInt(document.getElementById('myNo').value); 
    alert(num); 
    if (isNaN(num)){ 
     alert("No Numeric Value!"); 
    } 
    else{ 
     result.innerHTML = num; 
    } 
    var str = "<table border='2'>"; 
    for (row = 0; row < num; row++){ 
    str += "<tr>"; 
     for (col = 0; col < num; col++){ 
      str += "<td>"; 
      var randNum = Math.floor(Math.random() * 100) + 1; 
      if (randNum % 2){ 
       console.log(randNum + "Red"); 
      } 
      str += randNum; 
      str += "</td>"; 
     } 
     str += "</tr>"; 
    } 
    str = str + "</table>"; 
    result.innerHTML = str; 
} 
+0

3 ve 2 katları tarafından 6 mı demek istiyorsunuz? değilse, her ikisinin birden fazla olduğunda ne olur? –

+0

viiiyears post – Angel

cevap

1

bir eğer başka açıklamada içine td kreasyonlar koyarsanız böyle güzel basitçe yapabilirsiniz:

HTML

<div id="mainDiv"> 
    <input type="text" id="myNo" /> 
    <input type="button" id="gridSize" value="Show It" /> 
</div> 

<div id="result"></div> 

CSS

.two { 
    background: red; 
} 

.three { 
    background: blue; 
} 

JS

var button = document.getElementById('gridSize'); 
button.onclick = function(e) { 
    result = document.getElementById('result'); 
    num = parseInt(document.getElementById('myNo').value); 
    alert(num); 
    if (isNaN(num)) { 
    alert("No Numeric Value!"); 
    } else { 
    result.innerHTML = num; 
    } 
    var str = "<table border='2'>"; 
    for (row = 0; row < num; row++) { 
    str += "<tr>"; 
    for (col = 0; col < num; col++) { 
     var randNum = Math.floor(Math.random() * 100) + 1; 
     if (randNum % 2 === 0) { 
     str += '<td class="two">'; 
     } else if (randNum % 3 === 0) { 
     str += '<td class="three">'; 
     } else { 
     str += "<td>"; 
     } 
     str += randNum + "</td>"; 
    } 
    str += "</tr>"; 
    } 
    str = str + "</table>"; 
    result.innerHTML = str; 
} 

jsfiddle here

+0

tam olarak ne ben html orada işe yarayacağını sanmıyorum. – Angel

1

Bu kontrol, nasıl olursa onun bölünebilir 2 oranında ve 3:

if(randNum %2===0 && randNum %3===0){ 
    // do some 
} 
0

İşte bunu yapabileceğiniz yol (kodunuza benzer)

var resultTable = document.createElement('table'); 
var tr = resultTable.insertRow(); 

tbl.style.border = '1px solid black'; 

for (row = 0; row < num; row++){ 
    var tr = resultTable.insertRow(); 
    for (col = 0; col < num; col++){ 
     var td = tr.insertCell(); 
     var randNum = Math.floor(Math.random() * 100) + 1; 
     //for example if you want numbers countable with 2 to be red 
     if ((randNum % 2) === 0){ 
      td.style.backgroundColor = "red";     
     }       
     td.appendChild(document.createTextNode(randNum.toString())); 
    } 
} 
result.appendChild(resultTable); 
+0

aradığım şey Nerede 3 ile bölünebilir olup olmadığını kontrol ediyor musunuz? – John

+0

Gerçekten neye ihtiyacı olduğuna emin değilim. İstenirse değiştirebileceği bir örnek olarak 2 ile bölünebilir olarak kontrol ettim. –

+0

aşağı doğru viiiyears post bak – Angel

İlgili konular