Почему не работает такой сценарий
Вроде всё правильно ввёл, 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, время: 06:25. |