Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Максимальное значение идентификатора ячейки (https://javascript.ru/forum/misc/3337-maksimalnoe-znachenie-identifikatora-yachejjki.html)

kuh 09.04.2009 13:10

Максимальное значение идентификатора ячейки
 
У меня есть функция, которая меняет цвет фона ячейки:

function out(cell){
         for (i=0; i<11; i++){
             document.getElementById(cell).style.backgroundColor = 'Red'
         }
         return;
};


Но я хочу привязаться не к определенному значению i <11, а к максимальному значению i для данной таблицы (таблиц на странице несколько).
Как это сделать?

Kolyaj 09.04.2009 13:12

А что в этом цикле делается?

kuh 09.04.2009 14:15

Функция вызывается при наведении мыши на ячейку: по id ячейки (i) устанавливается цвет ее фона. На самом деле я упростил, там посложнее - цвет не напрямую проставляется, а заносится еще значение в массив. Но это неважно. Вопрос в том, как бы получить максимальный id ячейки..

Kolyaj 09.04.2009 14:45

Зачем 11 раз делается одно и то же?

И что такое
Цитата:

Сообщение от kuh
максимальный id ячейки


kuh 09.04.2009 15:11

Цитата:

Сообщение от Kolyaj (Сообщение 16243)
Зачем 11 раз делается одно и то же?

И что такое

не 11, а 10.
для 10 ячеек столбца таблицы. Зачем делается трудно сказать, просто примем это как факт.
Максимальный id = max(i) - в данном случае 10, но может быть любым.
id ячеек нумеруются с 1 и прирастанием 1.

Kolyaj 09.04.2009 15:22

В вышеприведенном коде внутри цикла i нигде не используется, поэтому чушь написана.

Так и спрашивайте, как узнать количество ячеек в строке. А то id-шников зачем-то надавали, теперь думаете, как их найти.
У таблиц есть свойство rows. У rows есть свойство length. У rows[i] есть свойство cells. У cells есть свойство length. :)

Gvozd 09.04.2009 15:39

[offtopic]
смерть кощея на конце иглы
игла в утке
утка в зайце
а заяц в шоке
[/offtopic]

kuh 09.04.2009 16:13

Цитата:

Сообщение от Kolyaj (Сообщение 16247)
В вышеприведенном коде внутри цикла i нигде не используется, поэтому чушь написана.

Так и спрашивайте, как узнать количество ячеек в строке. А то id-шников зачем-то надавали, теперь думаете, как их найти.
У таблиц есть свойство rows. У rows есть свойство length. У rows[i] есть свойство cells. У cells есть свойство length. :)

Согласен, написано неверно. Там $backingstore[i] должно быть.
Не суть.
Вобщем, спасибо:)
Т.е. вот так?
var max_i = document.getElementById('tbl1').rows.length;

Kolyaj 09.04.2009 16:18

Это будет кол-во строк в таблице.

AzriMan 09.04.2009 16:28

Цитата:

Сообщение от kuh (Сообщение 16246)
не 11, а 10.
для 10 ячеек столбца таблицы. Зачем делается трудно сказать, просто примем это как факт.
Максимальный id = max(i) - в данном случае 10, но может быть любым.
id ячеек нумеруются с 1 и прирастанием 1.

for (i=0; i<11; i++){
...
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
итого цикл выполняется 11 (!) раз.

kuh 09.04.2009 16:36

Цитата:

Сообщение от Kolyaj (Сообщение 16253)
Это будет кол-во строк в таблице.

То, что мне и нужно.

Не могу понять только почему не работает.
Ошибка - document.getElementById("tbl1") is null

В html:
<head>
...
<script type="text/javascript" src="/script.js"></script>  
</head>
<body>
<table id="tbl1" border=2 cellpadding="1">
..


В script.js:
var max_i1 = document.getElementById('tbl1').rows.length;
...

kuh 09.04.2009 16:37

Цитата:

Сообщение от AzriMan (Сообщение 16256)
for (i=0; i<11; i++){
...
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
итого цикл выполняется 11 (!) раз.

сорри, верно. ошибся.
у меня от i=1 в исходнике.

Kolyaj 09.04.2009 16:40

Цитата:

Сообщение от kuh
Ошибка - document.getElementById("tbl1") is null

script.js подключите после <table id="tbl1">, лучше после body.

kuh 09.04.2009 17:27

Цитата:

Сообщение от Kolyaj (Сообщение 16259)
script.js подключите после <table id="tbl1">, лучше после body.

Спасибо, работает


Часовой пояс GMT +3, время: 12:29.