Автор Тема: проверка id  (Прочитано 2504 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Enemy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 204
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.lutsiv.com
проверка id
« : 11 Мая 2003, 13:53:51 »
Вот код:

//-----------------------------
if ( document.all[key].style.visibility == "visible" )
{
document.all[key].style.visibility="hidden";
document.all[key].style.position="absolute";
}
//-----------------------------

...............................
text
text
text
...............................

Видно что в двух ячеек id начинается с "001".
Какой должен быть код js (сверху) чтобы все елементы с "001" были обработаны скриптом.
Life is Good

Оффлайн Nickii

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 218
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.srccode.spb.ru
проверка id
« Ответ #1 : 11 Мая 2003, 15:38:23 »
из id выреж первые три буквы

 var str = ""+id,
     
 if(str.substr(0,3) == \'001\')
 {
   далее твой код
 }
 вместо
 
Цитировать

document.all[key]

используй
document.getElementById(id);
и вообще что у тебя за код? В смысле для чего?

Оффлайн Enemy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 204
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.lutsiv.com
проверка id
« Ответ #2 : 11 Мая 2003, 16:26:47 »
Цитировать
Nickii:
В смысле для чего?

У меня layers, которые надо показывать / прятать...

Nickii Ты не совсем понял мой вопрос. Дело в том что я буду вызывать функцию только один раз и подавать одно значение, напр. "001". И функция должна "перебрать" все ID на странице, и работать с теми которые начинаются на "001".

Я так представляю себе что может в js есть такое понятие как массив обьектов (в моем случае ID).?? и тогда просматривая каждый в цыкле проверять условие IF...??....
Life is Good

Оффлайн Nickii

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 218
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.srccode.spb.ru
проверка id
« Ответ #3 : 13 Мая 2003, 23:23:45 »
Enemy
В стандарте нет таких массивов, то ты можешь сам пробежаться по всем элементам страницы используя свойства объектов firstChild, nextSibling, или что-то в этом роде и проверяя id управлять невидимостью. Вот мой рабочий пример который для всех элементов встречающихся в тексте меняет цвет шрифта.

  function textColored(what)
   { var el = parent.Win_Source.document.body.firstChild,
         color = "black",
         newcolor = "";

       if(what == "Com") newcolor = "darkgreen";
       if(what == "Teg") newcolor = "darkmagenta";
       if(what == "Obj") newcolor = "darkmagenta";
       if(what == "Str") newcolor = "darkblue";
       if(what == "Sym") newcolor = "darkred";;

       if(el)
         while(el.nextSibling != null)
           if(el.tagName == "PRE") break;
           else el = el.nextSibling;

       if(el && el.tagName == "PRE")
       { el = el.firstChild;
         while(el.nextSibling != null)
         { if(el.tagName == "SPAN")
           {
             if(newcolor == "")
             { if(what == "No")
               { if(el.className == "Com" || el.className == "Teg" || el.className == "Obj" || el.className == "Str" || el.className == "Sym")
                   el.style.color = color; }
               else
               { if(el.className == "Teg" || el.className == "Obj") color = "darkmagenta";
                 if(el.className == "Com") color = "darkgreen";
                 if(el.className == "Str") color = "darkblue";
                 if(el.className == "Sym") color = "darkred";
                 el.style.color = color; } }
             else
              if( what == el.className )
                if(el.style.color==color) el.style.color = newcolor;
                else el.style.color = color; }

             el = el.nextSibling; } } }

Но это тоже не единственное решение.
Можно создать самому массив всех объектов и проверять только в нем то что тебе надо. Это будет гораздо быстрее.

 а вообще зайди ко мне на сайт. Может найдешь некоторые готовые решения своих мыслей?

Nickii.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28