Являюсь постоянным пользователем данного форума, по-этому, если такое возможно, буду задавать все наболевшие вопросы в данной теме. Кому не сложно, время от времени можете заходить помогать, на это собственно и надеюсь =)
Надеюсь модерирующая структура не будет против такой темы.
Самые основы основ и то, что написано в учебниках - знаю, подобные вопросы постараюсь не задавать.
первый вопрос: начал работу с массивами и столкнулся с массой неудобств, например в php при тестировании я всегда выводил массив через print_r($arr), где можно было посмотреть всю его структуру и ключи. Есть ли в Javascript какая-то возможность подобного просмотра массива, хотяб чтоб ключи было видно ?
document.write($arr) очень не удобен и не информативен
Спустя 7 минут, 59 секунд (8.08.2010 - 14:14) Michael написал(а):
Для отладки:
- поставь в Мозилле FireBug и смотри на вкладке Консоль.
var aaa = [[1,2,3],'hello' , [4,5,6]];
console.log(aaa);
- поставь в Мозилле FireBug и смотри на вкладке Консоль.
Спустя 5 часов, 56 минут, 18 секунд (8.08.2010 - 20:10) Slays написал(а):
FireBug давно стоит, только вот консолью раньше не пользовался, буду пробовать =)
Спустя 1 день, 17 часов, 44 минуты, 20 секунд (10.08.2010 - 13:54) Slays написал(а):
Следующая проблема:
есть у меня область <span></span> в которую с помощью javascript я загружаю содержимое (в данном случае использую jquery для более удобного обращения к DOM):
и ссылка с функцией, при нажатии на которую переменная div_struct меняется и снова также выводится в span.
Проблема в том, что при нажатии содержимое span не заменяется, а пополняется новым значением переменной. Т.е. вместо
получается
вобщем будто применяется +=innerHTML
Понятно, что javascript напрямую на dom структуру документа не влияет и span остается без дочерних элементов/пустым даже при добавлении туда текста через javascript. В чем проблема и как решить =)
есть у меня область <span></span> в которую с помощью javascript я загружаю содержимое (в данном случае использую jquery для более удобного обращения к DOM):
$("div.review_struct span").html(div_struct);
и ссылка с функцией, при нажатии на которую переменная div_struct меняется и снова также выводится в span.
Проблема в том, что при нажатии содержимое span не заменяется, а пополняется новым значением переменной. Т.е. вместо
переменная
(нажимаем замену значения)
новая переменная
получается
переменная
(нажимаем замену значения)
переменная
новая переменная
вобщем будто применяется +=innerHTML
Понятно, что javascript напрямую на dom структуру документа не влияет и span остается без дочерних элементов/пустым даже при добавлении туда текста через javascript. В чем проблема и как решить =)
Спустя 2 минуты, 42 секунды (10.08.2010 - 13:57) sergeiss написал(а):
Цитата (Slays @ 8.08.2010 - 15:06) |
буду задавать все наболевшие вопросы в данной теме |
Более правильно будет не создавать кашу, а создавать отдельные темы по каждому вопросу. Это полезно и для тебя, и для любого другого человека, который будет "серфить" по форуму.
Спустя 3 минуты, 28 секунд (10.08.2010 - 14:00) ZSH написал(а):
$("div.review_struct span").html('');
$("div.review_struct span").html(div_struct);
попробуй сначала удалить содержимое span
$("div.review_struct span").html(div_struct);
попробуй сначала удалить содержимое span
Спустя 8 минут, 6 секунд (10.08.2010 - 14:08) Slays написал(а):
sergeiss
боюсь насоздавать кучу нубских пустяковых тем, отправят только книги читать вместо помощи =) Я конечно сам пытаюсь, но удобней изучать что-то новое с наставниками, либо сообща =) Да и новички форум не серфят, почти все спрашивают одно и тоже )
ZSH
не помогает, ведь span в DOM итак по идее пуст =) Хотя явление того, что у меня происходит, я тоже не понимаю, может где что напутал еще, а может всетаки как-то можно решить.
боюсь насоздавать кучу нубских пустяковых тем, отправят только книги читать вместо помощи =) Я конечно сам пытаюсь, но удобней изучать что-то новое с наставниками, либо сообща =) Да и новички форум не серфят, почти все спрашивают одно и тоже )
ZSH
не помогает, ведь span в DOM итак по идее пуст =) Хотя явление того, что у меня происходит, я тоже не понимаю, может где что напутал еще, а может всетаки как-то можно решить.
Спустя 2 минуты, 12 секунд (10.08.2010 - 14:11) linker написал(а):
Цитата |
Понятно, что javascript напрямую на dom структуру документа не влияет и span остается без дочерних элементов/пустым даже при добавлении туда текста через javascript. |
Это почему ты так решил?
Спустя 1 минута, 42 секунды (10.08.2010 - 14:12) Michael написал(а):
Ты лучше посмотри не само ли значение переменной наращивается? Той которую ты потом используешь: html(переменная).
Спустя 1 минута, 3 секунды (10.08.2010 - 14:13) ZSH написал(а):
Цитата |
Понятно, что javascript напрямую на dom структуру документа не влияет |
как раз наоборот, просто в исходном коде не видно
Спустя 2 минуты, 48 секунд (10.08.2010 - 14:16) Slays написал(а):
ну как я понимаю DOM формируется при загрузки документа, а дальше мы можем с ним только работать, не меняя.
Ну например если я с помощью javascript добавлю элемент
то в дальнейшем к нему же как к элементу DOM обратиться не смогу:
ну и другие операции с созданными в JS элементами с помощью JS не работают.
Ну например если я с помощью javascript добавлю элемент
$(document.body).append('<div id=new_el></div>');
то в дальнейшем к нему же как к элементу DOM обратиться не смогу:
var new_el = $('div#new_el'); - ошибка, нет такова узла
ну и другие операции с созданными в JS элементами с помощью JS не работают.
Спустя 3 минуты, 6 секунд (10.08.2010 - 14:19) ZSH написал(а):
а ты попробуй
Спустя 3 минуты (10.08.2010 - 14:22) Michael написал(а):
все работает. Смотри в FireBug на вкладке HTML.
Для наглядности так сделай:
Для наглядности так сделай:
$(document.body).append('<div id=new_el>99</div>');
var new_el = $('div#new_el');
new_el.css('color', 'red');
Спустя 6 минут, 34 секунды (10.08.2010 - 14:29) Slays написал(а):
Позже напишу пример, который не работает, значит это будет следующей проблемой, интересно =)
а в данном случае реально переменная наращивается где-то, тут конечно же пример в разы упращенный ) Пойду в функциях рыться )
а в данном случае реально переменная наращивается где-то, тут конечно же пример в разы упращенный ) Пойду в функциях рыться )
Спустя 1 минута, 37 секунд (10.08.2010 - 14:30) linker написал(а):
Цитата |
ну как я понимаю DOM формируется при загрузки документа, а дальше мы можем с ним только работать, не меняя. |
DOM есть всегда и он меняется.
Спустя 2 минуты, 45 секунд (10.08.2010 - 14:33) Slays написал(а):
а есть удобные утилиты, чтобы просматривать текущий DOM после всех изменений ?
Спустя 4 минуты, 57 секунд (10.08.2010 - 14:38) ZSH написал(а):
тот же firebug вкладка html и побежали плюсики раскрывать
Спустя 1 час, 9 минут, 26 секунд (10.08.2010 - 15:48) linker написал(а):
Пользуюсь Google Crome, там уже все есть что надо.
Спустя 1 месяц, 1 день, 2 часа, 7 минут, 33 секунды (11.09.2010 - 17:55) Slays написал(а):
еще пару вопросов для уточнения понимания =)
1) можно ли в JS создать массив только с нужными индексами, например
или он в любом случае заполнит все неуказанные значения пустыми элементами
2) чтобы создать объект obj.style.param.hz.text и тд, надо всегда указывать портянку типо
и тд, или можно этого как-то избежать ?
3) с id в виде цифр JS нормально работает ? например id=1, getElementById('1') и тд, ато возникали какие-то проблемы, уже точно не помню, но id пришлось менять на id='id_1', ну чтоб строкой была. Какие подводные камни тут могут быть
1) можно ли в JS создать массив только с нужными индексами, например
array[3] = "значение";
array[24] = "значение";
или он в любом случае заполнит все неуказанные значения пустыми элементами
2) чтобы создать объект obj.style.param.hz.text и тд, надо всегда указывать портянку типо
obj.style = new Object();
obj.style.param = new Object();
obj.style.param.hz = new Object();
и тд, или можно этого как-то избежать ?
3) с id в виде цифр JS нормально работает ? например id=1, getElementById('1') и тд, ато возникали какие-то проблемы, уже точно не помню, но id пришлось менять на id='id_1', ну чтоб строкой была. Какие подводные камни тут могут быть
Спустя 54 минуты, 48 секунд (11.09.2010 - 18:50) linker написал(а):
1) Нет, просто array.length будет отдавать значение 25.
2) Как-то так
2) Как-то так
obj = {'style':{'param':{'hz':new Array()}}};3. Имхо просто что-то не так делал.
Спустя 3 минуты, 10 секунд (11.09.2010 - 18:53) Basili4 написал(а):
Если мы говорим DOM подрозумевае дерево то очень даже меняется
insertBefore, removeChild и др. вот тут много про дум написано
http://javascript.ru/tutorial/dom/modify#dobavlenie-v-dom
insertBefore, removeChild и др. вот тут много про дум написано
http://javascript.ru/tutorial/dom/modify#dobavlenie-v-dom
Спустя 1 час, 53 минуты, 25 секунд (11.09.2010 - 20:47) Slays написал(а):
Basili4 со старыми проблемами я разобрался, да, был не прав =)
linker
насчет 1 вопроса, если я через цикл начну все значения такова массива прогонять, например через for in, цикл пойдет только по 2 заданным значениям или с 0 до 24 ? Вроде второй вариант.
linker
насчет 1 вопроса, если я через цикл начну все значения такова массива прогонять, например через for in, цикл пойдет только по 2 заданным значениям или с 0 до 24 ? Вроде второй вариант.
Спустя 13 часов, 27 минут, 9 секунд (12.09.2010 - 10:14) Michael написал(а):
массивы - это которые:
x = []
или
x = new Array()
для них идет дополнение и перебираются они от 0 до x.length.
А ассоциативные массивы имитируются объектами:
a= {};
a[5] ='444'
- для них нет никаких автодополнений и for in только нужное выберет
x = []
или
x = new Array()
для них идет дополнение и перебираются они от 0 до x.length.
А ассоциативные массивы имитируются объектами:
a= {};
a[5] ='444'
- для них нет никаких автодополнений и for in только нужное выберет
Спустя 9 минут, 50 секунд (12.09.2010 - 10:24) DedMorozzz написал(а):
Цитата (Slays @ 10.08.2010 - 13:33) |
а есть удобные утилиты, чтобы просматривать текущий DOM после всех изменений ? |
FF - DOM inspector. Как-то так называется. Или, как уже сказали - огнежук.
Спустя 15 минут, 51 секунда (12.09.2010 - 10:39) Basili4 написал(а):
DedMorozzz
в IE есть причем более удобный для меня чем скажем в Опере
в IE есть причем более удобный для меня чем скажем в Опере
Спустя 1 день, 7 часов, 37 минут, 12 секунд (13.09.2010 - 18:17) Slays написал(а):
прояснить, если функции друг за другом идут, они работают параллельно или каждая ждет полного выполнения предыдущей ?
func1();
func2();
func3();
Спустя 3 часа, 35 минут, 8 секунд (13.09.2010 - 21:52) linker написал(а):
JavaScript - это интерпретируемый язык, поэтому все выполняется последовательно, плюс по мере загрузки документа.
Спустя 9 дней, 14 часов, 9 минут, 4 секунды (23.09.2010 - 12:01) Slays написал(а):
можно отправить форму без нажатия клавиши submit ?
событие onsubmit срабатывает вроде именно после нажатия клавиши, а нужно отправить без нажатия. И из той же серии, как кликнуть на кнопку, не кликая на кнопку, т.е. программно =)
событие onsubmit срабатывает вроде именно после нажатия клавиши, а нужно отправить без нажатия. И из той же серии, как кликнуть на кнопку, не кликая на кнопку, т.е. программно =)
Спустя 2 минуты, 35 секунд (23.09.2010 - 12:03) ZSH написал(а):
document.forms.неймформы.submit();
Спустя 3 дня, 4 часа, 24 минуты, 9 секунд (26.09.2010 - 16:27) Slays написал(а):
Кто-нибудь знает, есть ли в сети максимально полная документация на русском по редактору TinyMCE, как здесь
http://wiki.moxiecode.com/index.php/TinyMCE:Index
или описание его API на русском.
чтобы показывались все возможности настройки, тонкости, трюки, хочется поглубже в нем разобраться.
http://wiki.moxiecode.com/index.php/TinyMCE:Index
или описание его API на русском.
чтобы показывались все возможности настройки, тонкости, трюки, хочется поглубже в нем разобраться.
_____________
если помог, не скупись на карму =)