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:
assign click event each td cell:
td.addeventlistener('click', mycallback, false);
in event handler (callback), check content of td:
function mycallback(e) { /*e.target td; check td.innertext;*/ }
pedagogic resources:
Comments
Post a Comment