Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.11.2011, 22:42
Профессор
Отправить личное сообщение для Почемучкин Посмотреть профиль Найти все сообщения от Почемучкин
 
Регистрация: 11.05.2011
Сообщений: 241

Как вызвать функцию, управляющую интерфейсом страницы из букмарклета
Нужно правильно вызвать функцию javascript со страницы - помогите.

Вот есть к примеру такая страница. В ней есть спойлер со скрытым текстом. Надо развернуть его букмарклетом, чтобы при нажатии букмарклета он разворачивал все спойлеры на странице.
<div class="hidewrap">
  <div class="hidehead" onclick="hideshow($(this))">
    Скрытый текст
  </div>
  <div class="hidebody"></div>
  ..... здесь скрытый текст, картинки и т.д. .....
</div>


Так вот - нужно вызвать функцию hideshow в цикле, передав ей div'ы с классом hidehead. Функция лежит в подключенном внешнем файле functions.js
Я попробовал, пока без цикла, но что-то не получается.
javascript:
divs=document.getElementsByTagName('div');
for(i=0;i<divs.length;i++){
  if (divs[i].className && divs[i].className =='hidehead') { hideshow(divs[i]); };
};
void(0);


Что не так делаю? Неправильно обращаюсь к функции? Неправильно параметры передаю? Еще что-то?

Последний раз редактировалось Почемучкин, 13.11.2011 в 23:16. Причина: update: all.tags -> getElementsByTagName; class -> className
Ответить с цитированием
  #2 (permalink)  
Старый 13.11.2011, 22:48
Профессор
Отправить личное сообщение для Почемучкин Посмотреть профиль Найти все сообщения от Почемучкин
 
Регистрация: 11.05.2011
Сообщений: 241

С помощью alert установил, что div с нужным именем класса находится, и этот div передается функции, а дальше - происходит ошибка и скрипт прекращает работу.

То есть проблема - как правильно вызвать встроенную функцию, чтобы не было ошибки.

Что такое $(this) ?

Последний раз редактировалось Почемучкин, 13.11.2011 в 23:20.
Ответить с цитированием
  #3 (permalink)  
Старый 13.11.2011, 23:22
Профессор
Отправить личное сообщение для Почемучкин Посмотреть профиль Найти все сообщения от Почемучкин
 
Регистрация: 11.05.2011
Сообщений: 241

Все, сработало
Надо было вызывать
hideshow($(divs[i]))


А как тут удалять свои сообщения? Не хочется мусорить.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как поставить обработчик события на загрузку страницы? mister_maxim Events/DOM/Window 7 17.05.2011 21:22
Как из функции вызвать другую функцию и правильно передать ей параметр Alexd Общие вопросы Javascript 3 06.05.2011 03:42
как от элемента отвязать функцию syegorius jQuery 1 10.04.2011 22:05
[Closure Compiler] Как запретить инлайнить функцию, которая вызывается из setTimeout? xintrea Events/DOM/Window 4 11.02.2011 16:23
Как вытащить сведения из другой страницы с помощью js? makregistr Общие вопросы Javascript 6 28.12.2010 14:07