|
27.06.2011, 00:30
|
Интересующийся
|
|
Регистрация: 11.05.2011
Сообщений: 13
|
|
Перебор первого столбца таблицы
Здравствуйте!
Подскажите как перебрать весь первый столбец в таблице при помощи JavaScript. В ячейках нужно заменить текст.
Спасибо.
|
|
27.06.2011, 01:27
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
<table id="table">
<tr>
<td>1</td>
</tr>
<tr>
<td>1</td>
</tr>
<tr>
<td>1</td>
</tr>
<tr>
<td>1</td>
</tr>
</table>
<script>
list= document.getElementById("table").getElementsByTagName("tr");
for (var i=0; i< list.length; ++i)
{
list[i].getElementsByTagName("td")[0].innerHTML="2";
};
</script>
|
|
27.06.2011, 10:01
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,217
|
|
trikadin, у таблицы есть коллекция rows, а у элементов той коллекции есть коллекция cells...
Пример из МСДН
<HTML>
<SCRIPT LANGUAGE="JScript">
function numberCells() {
var count=0;
for (i=0; i < document.all.oTable.rows.length; i++) {
for (j=0; j < document.all.oTable.rows(i).cells.length; j++) {
document.all.oTable.rows(i).cells(j).innerText = count;
count++;
}
}
}
</SCRIPT>
<BODY onload="numberCells()">
<TABLE id=oTable border=1>
<TR><TH> </TH><TH> </TH><TH> </TH><TH> </TH></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
</TABLE>
</BODY>
</HTML>
|
|
27.06.2011, 10:22
|
Интересующийся
|
|
Регистрация: 11.05.2011
Сообщений: 13
|
|
Спасибо, все работает.
Код не работает в FF.
Ошибка:
table.rows is not a function
[Прерывать на этой ошибке] table.rows[i].cells[0]...eplace(/<strong.*?<\/strong>/g, '');
Последний раз редактировалось an.semionov, 27.06.2011 в 14:22.
|
|
27.06.2011, 11:24
|
Интересующийся
|
|
Регистрация: 11.05.2011
Сообщений: 13
|
|
Сообщение от ksa
|
trikadin, у таблицы есть коллекция rows, а у элементов той коллекции есть коллекция cells...
Пример из МСДН
<HTML>
<SCRIPT LANGUAGE="JScript">
function numberCells() {
var count=0;
for (i=0; i < document.all.oTable.rows.length; i++) {
for (j=0; j < document.all.oTable.rows(i).cells.length; j++) {
document.all.oTable.rows(i).cells(j).innerText = count;
count++;
}
}
}
</SCRIPT>
<BODY onload="numberCells()">
<TABLE id=oTable border=1>
<TR><TH> </TH><TH> </TH><TH> </TH><TH> </TH></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
</TABLE>
</BODY>
</HTML>
|
Данное решение не работает в firefox
|
|
27.06.2011, 11:37
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,217
|
|
an.semionov, это всего лишь демонстрация, описаных мной, методов... Они работают везде. А вот
document.all.oTable
не везде...
Используй
document.getElementById('oTable')
|
|
27.06.2011, 11:39
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,217
|
|
<HTML>
<SCRIPT LANGUAGE="JScript">
function numberCells() {
var o=document.getElementById('oTable');
var count=0;
for (i=0; i < o.rows.length; i++) {
for (j=0; j < o.rows(i).cells.length; j++) {
o.rows(i).cells(j).innerHTML = count;
count++;
}
}
}
</SCRIPT>
<BODY onload="numberCells()">
<TABLE id='oTable' border=1>
<TR><TH> </TH><TH> </TH><TH> </TH><TH> </TH></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
</TABLE>
</BODY>
</HTML>
|
|
27.06.2011, 14:05
|
Интересующийся
|
|
Регистрация: 11.05.2011
Сообщений: 13
|
|
Сообщение от ksa
|
<HTML>
<SCRIPT LANGUAGE="JScript">
function numberCells() {
var o=document.getElementById('oTable');
var count=0;
for (i=0; i < o.rows.length; i++) {
for (j=0; j < o.rows(i).cells.length; j++) {
o.rows(i).cells(j).innerHTML = count;
count++;
}
}
}
</SCRIPT>
<BODY onload="numberCells()">
<TABLE id='oTable' border=1>
<TR><TH> </TH><TH> </TH><TH> </TH><TH> </TH></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
</TABLE>
</BODY>
</HTML>
|
в FF не работает код, таблица создается, но не заполняется.
Ошибка:
table.rows is not a function
[Прерывать на этой ошибке] table.rows[i].cells[0]...eplace(/<strong.*?<\/strong>/g, '');
Последний раз редактировалось an.semionov, 27.06.2011 в 14:26.
|
|
27.06.2011, 14:42
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,217
|
|
an.semionov, а чуть самостоятельности?
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<style type="text/css">
</style>
<script type="text/javascript">
function numberCells() {
var o=document.getElementById('oTable');
var count=0;
for (i=0; i < o.rows.length; i++) {
for (j=0; j < o.rows[i].cells.length; j++) {
o.rows[i].cells[j].innerHTML = count;
count++;
}
}
}
</script>
</head>
<body onload="numberCells()">
<TABLE id='oTable' border=1>
<TR><TH> </TH><TH> </TH><TH> </TH><TH> </TH></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
</TABLE>
</body>
</html>
|
|
27.06.2011, 15:03
|
Интересующийся
|
|
Регистрация: 11.05.2011
Сообщений: 13
|
|
Пробовал [], не сработало, видимо забыл изменить в условии цикла, спасибо.
|
|
|
|