Почему не работает такой сценарий
Вроде всё правильно ввёл, IE8 ошибок не выводит, но и не меняет значение ячеек:((((
<table border="1" id="nomore"> <tr> <th width="34">z</td> <th width="47">x</td> <th width="100">c</td> </tr> <tr> <td>f</td> <td>g</td> <td>j</td> </tr> <tr> <td>l</td> <td>u</td> <td>y</td> </tr> </table> <script> var tabObj=document.getElementById("nomore"); var bodyObj=tabObj.firstChild; var rowObj=bodyObj.rows[1]; var cellObj=rowObj.cells[1]; cellObj.nodeValue="Привет"; </script> |
Во-первых, почему не пользуешься форматированием?
Во-вторых, почему тег <th> закрывается </td>? В-третьих, var bodyObj=tabObj.firstChild;- это явно лишнее. В-четвертых, используй вместо .nodeValue innerText или innerHTML: <table border="1" id="nomore"> <tr> <th width="34">z</th> <th width="47">x</th> <th width="100">c</th> </tr> <tr> <td>f</td> <td>g</td> <td>j</td> </tr> <tr> <td>l</td> <td>u</td> <td>y</td> </tr> </table> <script> var tabObj = document.getElementById("nomore"), rowObj = tabObj.rows[1], cellObj = rowObj.cells[1]; cellObj.innerText = "Привет"; </script> |
1. Почему код не отформатирован и в нем присутствуют ошибки?
2. Почему вы решили, что ваш скрипт вообще должен что-то выполнять корректно? <table border="1" id="table"> <tr><th>a</th><th>b</th><th>c</th></tr> <tr><td>1</td><td>2</td><td>3</td></tr> <tr><td>4</td><td>5</td><td>6</td></tr> </table> <script type="text/javascript"> window.onload = function(){ var table = document.getElementById('table'); for(i=0; i < table.rows.length; i++){ (function(i) { document.onclick = function(){ for(j=0; j<table.rows[i].cells.length; j++){ table.rows[1].cells[0].innerHTML = 'Привет'; } }; })(i); } }; </script> |
Спасибо...Простите за глупые ошибки...!!!
Мне было не совсем понятно почему пример приведённый в книге, не работает. А почему nodeValue не работает с таблицами? |
Цитата:
<table border="1" id="nomore"> <tr> <th width="34">z</th> <th width="47">x</th> <th width="100">c</th> </tr> <tr> <td>f</td> <td>При</td> <td>j</td> </tr> <tr> <td>l</td> <td>u</td> <td>y</td> </tr> </table> <script> var tabObj = document.getElementById("nomore"), rowObj = tabObj.rows[1], cellObj = rowObj.cells[1], text = document.createTextNode(""); text.nodeValue = "вет"; cellObj.appendChild(text); </script> |
Часовой пояс GMT +3, время: 05:30. |