вложенный для цикла с жирным тегом - PullRequest
0 голосов
/ 23 января 2012

Можно ли написать вложенный цикл for, который строит таблицу и где идеальные квадраты выделены жирным шрифтом?

У меня сейчас так много

<table border=1 cellpadding=10>
<script type="text/javascript">
    for (j=1; j<=10; j++) {
        document.write('<tr>');
        for (i=1; i<=10; i++) {
            document.write('<td align ="center">',i*j,'</td>');
        }
        document.write("</tr>\n");  
    }
</script>

Но я хочу выделить идеальные квадраты в таблице.Кто-нибудь

Ответы [ 2 ]

2 голосов
/ 23 января 2012

http://jsfiddle.net/mmhDR/

j часто используется в качестве второй переменной цикла, k после этого и т. Д.

window.onload=function(){
    var t = document.createElement('table');
    for(var i =1;i<11;i++){
        var tr = document.createElement('tr');
        for(var j=1;j<11;j++){
            var td=document.createElement('td');
            td.innerHTML=''+(j*i);
            if(j==i){
                td.className="bold";
            }
            tr.appendChild(td);
        }
        t.appendChild(tr);
    }
    document.body.appendChild(t);
};

edit: Using document.write ():

http://jsfiddle.net/8vTg7/

<style type="text/css" >
table{
    margin:10px;
}
td{
    text-align:center;
    padding:5px;
    border:1px solid grey;
}
.bold{
    font-weight:bold;
}
</style>
<script type="text/javascript">
document.write('<table>');
    for(var i =1;i<11;i++){
        document.write('<tr>');
        for(var j=1;j<11;j++){
            document.write('<td ');
            if(j==i){
                document.write('class="bold"');
            }
            document.write('>');
            document.write(''+(i*j));

            document.write('</td>');
        }
        document.write('</tr>');
    }
    document.write('</table>');
</script>
0 голосов
/ 29 января 2012

Вот как я решил проблему.

 <table border="1"> 
 <script type="text/javascript"> 
   var outHTML="";
   var r, c;
     for (r=1;r<=10;r++) {

       outHTML += "<tr>";
        for (c=1;c<=10;c++) {
           if (r==c)
             outHTML += "<td><strong>" + (r*c) + "</strong></td>";
         else
            outHTML += "<td>" + (r*c) + "</td>";
       }
     outHTML += "</tr>";
   }
    document.writeln(outHTML);    
</script> 
</table> 
...