На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ALXR
  
    > JS: Цикл по всем DIV
      1) Как в ява-скрипте пробежаться в цикле по всем имеющимся в документе ДИВам
      (надо изменить одно из свойств каждого дива) ?

      2) Можно ли узнать имя класса, описанного в CSS,
      к которому принадлежит конкретный объект,
      например <div id=mydiv class=myclass> ??
        Цитата vot, 12.08.02, 10:50:32
        1) Как в ява-скрипте пробежаться в цикле по всем имеющимся в документе ДИВам
        (надо изменить одно из свойств каждого дива) ?

        ИМХО средствами HTML и JavaScript вряд ли можно это реализовать.
        Правда есть другой метод-парсить XML документ (до и то будет работать сие творение только под форточками, если пользовать JS).
          Не, придумал лучше метод:
          ExpandedWrap disabled
            <br><html><br><head><br><br><script><br>function changeIt(iden){<br>iden.innerText="11";<br>}<br></script><br></head><br><br><body><br><div id="d1">1</div><br><div id="d2">2</div><br><div id="d3">3</div><br><br><script><br>var i=1;<br>var z=document.all("d"+1);<br>while(z!=null)<br>{<br>alert();<br>changeIt(z); <br>i++;<br>z=document.all("d"+i);<br>}<br></script><br><br></body><br></html><br>
          Сообщение отредактировано: d_k -
            Блин торможу под вечер и сам с собой веду беседу:
            по поводу классов у об'екта div есть свойство className
            т.е. исходя из предыдущих примеров:
            var class_name=d1.className;

              Насчет принадлежности к классу я тоже уже разобрался.
              Насчет цикла по номерам ДИВов - не все так просто.
              Во-первых, неизвестно их общее количество.
              Во-вторых, имена ДИВов не подчиняются линейному закону :(
              Пример - оглавление книги:
              <div id="d1">1</div>
              <div id="d1_1">1.1</div>
              <div id="d1_2">1.2</div>
              <div id="d2">2</div>
              <div id="d2_1">2.1</div>
              <div id="d2_2">2.2</div>
              <div id="d2_2_1">2.2.1</div>
              <div id="d2_2_2">2.2.2</div>
              <div id="d3">3</div>


                Я не очень силен в  javascript, но по_мойму там есть регулярные выражения.
                Но конечно это не очень хорошо, например нужно начинать ид для дива только с "div" и не использовать такой префикс для других элементов.
                  Регулярные выражения есть.
                  Но вот использовать их для подмножества элементов с определенным именем
                  не представляется возможным :(
                  Тем более, что DOM - иерархическая структура...
                    Цитата vot, 16.08.02, 10:17:14
                    Во-первых, неизвестно их общее количество.
                    Во-вторых, имена ДИВов не подчиняются линейному закону :(

                    Ну тогда то что я в начале говорил - загнать все в XML  и его парсить (<children/>).  Иначе как то путей не видно.
                      Начинаю понимать свою ошибку...
                      Вопросы надо задавать по человечески :)))
                      Исправляюсь.

                      Итак, есть дерево содержания (Table of Content),
                      в котором на каждом разделе должны быть иконки (плюсик/минусик).
                      При нажатии на плюсик - раздел раскрывается.
                      На минусик - соответственно закрывается.

                      Хороший пример приведен в http://www.sources.ru/jscript/jscript_dhtml_tree_view.shtml

                      Но в этом примере есть один недостаток - дерево по умолчанию _открыто_полностью_.
                      А мне надо наоборот - чтобы при старте оно было закрыто полностью,
                      кроме разделов первого уровня.

                      Как это реализовать?
                      (Для этого я и хотел в цикле пробежаться и позакрывать всё.)
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0520 ]   [ 15 queries used ]   [ Generated: 27.04.24, 18:30 GMT ]