javascript - How to check value of table td? -


i trying create mine field game. "i new js".

what have done far:

var level = prompt("choose level: easy, medium, hard"); if (level === "easy") {     level = 3; } else if (level === "medium") {     level = 6; } else if (level === "hard") {     level = 9; } var body = document.getelementsbytagname("body")[0]; var tbl = document.createelement("table"); var tblbody = document.createelement("tbody"); (var = 1; <= 10; i++) {     var row = document.createelement("tr");     document.write("<br/>");     (var x = 1; x <= 10; x++) {         var j = math.floor(math.random() * 12 + 1);         if (j < level) {             j = "mined";         } else {             j = "clear";         }         var cell = document.createelement("td");         var celltext = document.createtextnode(j + " ");         cell.appendchild(celltext);         row.appendchild(cell);     }     tblbody.appendchild(row); } tbl.appendchild(tblbody); body.appendchild(tbl); tbl.setattribute("border", "2"); 

so create here 2d table , enter 2 random values in rows , columns (mined or clear).

where stuck is:

check if td = mined dies otherwise open box(td) etc.

how assign value of td? mean how can check value(mined/clear) there in td clicked?

ps: please don't write whole code:) show me track please:)

thnx answers!

ok! came far.. if click on row gives clear if click on mined row or vice versa!

  // create table   var body = document.getelementsbytagname("body")[0];   var tbl     = document.createelement("table");   tbl.setattribute('id','mytable');   var tblbody = document.createelement("tbody");     //create 2d table mined/clear   for(var i=1;i<=10;i++)      {    var row = document.createelement("tr");     document.write("<br/>" );  for(var x=1;x<=10;x++) {  var j=math.floor(math.random()*12+1);   if(j<level)  {  j = "mined";  }  else{  j = "clear";  }  var cell = document.createelement("td");   var celltext = document.createtextnode(j + "");   cell.appendchild(celltext);   row.appendchild(cell);  }   tblbody.appendchild(row);      }      tbl.appendchild(tblbody);       body.appendchild(tbl);      tbl.setattribute("border", "2");     //check row clicked       window.onload = addrowhandlers;  function addrowhandlers() { var table = document.getelementbyid("mytable"); var rows = table.getelementsbytagname("tr"); (i = 0; < rows.length; i++) {     var currentrow = table.rows[i];     var createclickhandler =          function(row)          {             return function() {                   var cell = row.getelementsbytagname("td")[0];                  var id = cell.innerhtml;               if(id === "mined")               {               alert("you died");               }else               {               alert("clear");               }               };         }      currentrow.onclick = createclickhandler(currentrow);            }            } 

i think wrong giving table id "mytable"..

can see it?

thank in advance!

so, idea be:

  1. assign click event each td cell:

    td.addeventlistener('click', mycallback, false);

  2. in event handler (callback), check content of td:

    function mycallback(e) { /*e.target td; check td.innertext;*/ }

pedagogic resources:


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -