[help]Js возможноли работа без масива

Статус
В этой теме нельзя размещать новые ответы.

h0ttab[sun]

Профессор
Регистрация
30 Авг 2007
Сообщения
319
Реакции
43
HTML:
var Lists = new Array;
Lists[0] = "wl0";
Lists[1] = "wl1";
Lists[2] = "wl2";
Lists[3] = "wl3";
Lists[4] = "wl4";
Lists[5] = "wl5";
Lists[6] = "wl6";
Lists[7] = "wl7";
Lists[8] = "wl8";
Lists[9] = "wl9";
Lists[10] = "senmsg";
function ListOnClick(ListID)
{
var d = document.getElementById(ListID);
d.className = (d.className == "open")?"close":"open";
for(i = 0; i < Lists.length; i++){
d1 = document.getElementById(Lists[i]);
if(d1.id != d.id) d1.className = "close";
}
}
Что делает этот скрипт:по умолчанию я спрятал Элементы через display:none; но при клике на ссылку "javascript:ListOnClick('wl1')"
он задает чтоб элемент с id wl1 задать клас опен и открыть :).
Вопрос:Помогите убрать задавание массива :)..
Возможное решение через var$i и к итогу снимим тягомотину с добавлением в него данных :(.
 
:) Можно все писать в строку типа:
var sSomeStr = "wl1, wl2, wl3";
А потом aSomeArr = sSomeStr.split(',');

А если честно, не совсем понятно, зачем тебе это.
Можно поподробней?
 
для каждого объекта в html указываешь доп. параметр.
Ex. flag="1"
объекты над которыми ты проводишь действия лежат в каком то контейнере.
для этого контейнера вызываешь функцию getElementsByTagName - т.е. выбираешь нужные теги. фильтруешь по наличию доп. атрибута = вот у тебя и получается массив , который не нужно жестко закреплять в js. а дальше делаешь все как обычно ...
 
может проще использовать jquery?
 
Используй new Object вместо new Array.

или

Lists = {0 : "wl0", 1 : "wl1", 2 : "wl2",} // этот формат называеться JSON

Тогда сможешь добавлять сколько хочешь елементов.
Если ты добавляешь елементы редко то можно просто создовать новый больший масив и заменять им старый.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху